-
[백준/BOJ] 13335번 트럭 (C++)알고리즘 문제풀이/백준 2020. 12. 5. 11:58
똑같은 문제
#include <iostream> #include <vector> #include <queue> using namespace std; int n, w, L, time = 1; vector<int> truck; void cross() { queue<int> ready; for(int i = 0; i < truck.size(); i++) { ready.push(truck[i]); } vector<pair<int, int > > onBridge; int sum = 0; while(1) { if(ready.empty() && onBridge.empty()) break; if(!ready.empty() && sum + ready.front() <= L) { onBridge.push_back({ready.front(), 0}); sum += ready.front(); ready.pop(); } for(int i = 0; i < onBridge.size(); i++) { onBridge[i].second++; } time++; if(onBridge[0].second == w) { sum -= onBridge[0].first; onBridge.erase(onBridge.begin());; } } } int main(void) { ios_base::sync_with_stdio(false); cin.tie(0); cin>>n>>w>>L; for(int i = 0; i < n; i++) { int x; cin>>x; truck.push_back(x); } cross(); cout<<time; }
'알고리즘 문제풀이 > 백준' 카테고리의 다른 글
[백준/BOJ] 14891번 톱니바퀴 (C++) (0) 2020.12.05 [백준/BOJ] 11559번 Puyo Puyo (C++) (0) 2020.12.05 [백준/BOJ] 1748번 수 이어 쓰기 1 (C++) (0) 2020.12.04 [백준/BOJ] 3190번 뱀 (C++) (0) 2020.12.04 [백준/BOJ] 15686번 치킨 배달 (C++) (0) 2020.12.03