728x90
반응형
https://www.acmicpc.net/problem/2109
2109번: 순회강연
한 저명한 학자에게 n(0 ≤ n ≤ 10,000)개의 대학에서 강연 요청을 해 왔다. 각 대학에서는 d(1 ≤ d ≤ 10,000)일 안에 와서 강연을 해 주면 p(1 ≤ p ≤ 10,000)만큼의 강연료를 지불하겠다고 알려왔다.
www.acmicpc.net
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
int n;
cin >> n;
vector<pair<int, int>> v;
int day[10001] = {0, };
int maxday = 0;
for(int i = 0; i < n; i++){
int p, d;
cin >> p >> d;
if(d > maxday) maxday = d;
v.push_back({p, d});
}
sort(v.begin(), v.end(), greater<>());
for(int i = 0; i < n; i++){
int q = v[i].second;
while(q > 0){
if(day[q] == 0){
day[q] = v[i].first;
break;
}
q--;
}
}
int ans = 0;
for(int i = 1; i <= maxday; i++){
ans += day[i];
}
cout << ans << endl;
return 0;
}
13904번과 같은 원리로 풀었다.
728x90
반응형
'Algorithm > BAEKJOON' 카테고리의 다른 글
[BOJ] 14267번 회사 문화 1 (C++) (0) | 2022.09.06 |
---|---|
[BOJ] 13549번 숨바꼭질 3 (C++) (0) | 2022.09.05 |
[BOJ] 1874번 스택 수열 (C++) (0) | 2022.08.18 |
[BOJ] 2573번 빙산 (C++) (0) | 2022.08.17 |
[BOJ] 13904번 과제 (C++) (0) | 2022.08.16 |