[백준 13335번 C/C++] 트럭
[백준 13335번 C/C++] 트럭
https://www.acmicpc.net/problem/13335
해결전략
큐 Queue
정답코드
#include <iostream>
#include <vector>
#include <queue>
using namespace std;
int main() {
ios_base::sync_with_stdio(0);
cin.tie(0); cout.tie(0);
int n, w, l;
cin >> n >> w >> l;
vector<int> v(n);
for (int i = 0; i < n; i++) {
cin >> v[i];
}
queue<pair<int, int>> Q; // (트럭 무게, 다리 위에서의 시간)
int time = 0, totalWeight = 0, i = 0;
while (i < n || !Q.empty())
{
// 시간이 지나면 다리 위의 트럭을 제거
if (!Q.empty() && Q.front().second == time) {
totalWeight -= Q.front().first;
Q.pop();
}
// 새로운 트럭이 다리에 올라갈 수 있는지 확인
if (i < n && totalWeight + v[i] <= l && Q.size() < w) {
totalWeight += v[i];
Q.push({v[i], time + w}); // 트럭 무게와 다리를 건널 시간을 저장
i++;
}
time++;
}
cout << time << "\n";
return 0;
}
'⭐ 코딩테스트 > 백준' 카테고리의 다른 글
[백준 17135번 C/C++] 캐슬 디펜스 (0) | 2024.07.25 |
---|---|
[백준 13335번 C/C++] 트럭 (2) | 2024.07.24 |
[백준 16287번 C/C++] Parcel (0) | 2024.07.17 |
[백준 11401번 C/C++] 이항 계수 3 (0) | 2024.06.02 |
[백준 2138번 C/C++] 전구와 스위치 (0) | 2024.05.20 |
댓글
이 글 공유하기
다른 글
-
[백준 17135번 C/C++] 캐슬 디펜스
[백준 17135번 C/C++] 캐슬 디펜스
2024.07.25 -
[백준 13335번 C/C++] 트럭
[백준 13335번 C/C++] 트럭
2024.07.24 -
[백준 16287번 C/C++] Parcel
[백준 16287번 C/C++] Parcel
2024.07.17 -
[백준 11401번 C/C++] 이항 계수 3
[백준 11401번 C/C++] 이항 계수 3
2024.06.02