Skip to content

Commit caebe40

Browse files
committed
[Week05] BOJ 1781: 컵라면
1 parent 740cc85 commit caebe40

File tree

1 file changed

+44
-0
lines changed

1 file changed

+44
-0
lines changed
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
#include <iostream>
2+
#include <vector>
3+
#include <queue>
4+
#include <algorithm>
5+
6+
using namespace std;
7+
8+
int main() {
9+
int n;
10+
cin >> n;
11+
12+
vector<pair<int, int>> v;
13+
for (int i = 0; i < n; i++) {
14+
int a, b;
15+
cin >> a >> b;
16+
v.push_back({ a,b });
17+
}
18+
19+
// 데드라인 순으로 정렬
20+
sort(v.begin(), v.end());
21+
22+
// 처리 가능한 과제 저장
23+
priority_queue<int,vector<int>,greater<int>> pq;
24+
25+
for (int i = 0; i < n; i++) {
26+
int deadline = v[i].first;
27+
int cnt = v[i].second;
28+
pq.push(cnt);
29+
30+
// 데드라인을 초과하는 경우 가장 개수가 작은 것을 버린다.
31+
// v[i]를 처리하기 위해서는 pq의 크기가 deadline보다 작거나 같아야 한다.
32+
if (pq.size() > deadline) {
33+
pq.pop();
34+
}
35+
}
36+
37+
long long ans = 0;
38+
while (!pq.empty()) {
39+
ans += pq.top();
40+
pq.pop();
41+
}
42+
43+
cout << ans;
44+
}

0 commit comments

Comments
 (0)