작성
·
175
0
#include<iostream>
#include <vector>
#include<algorithm>
#include<unordered_map>
using namespace std;
int n;
int deadline, lamen;
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
unordered_map<int, int> check;
cin >> n;
vector<pair<int, int>> in(n);
for (int i = 0; i < n; i++)
{
cin >> deadline >> lamen;
in[i].first = lamen;
in[i].second = deadline;
}
sort(in.begin(), in.end(),greater<pair<int,int>>());
for (int i = 0; i < n; i++)
{
int cnum = in[i].second;
while (cnum >= 0)
{
if (check[in[i].second] >= in[i].first)
{
cnum--;
continue;
}
check[cnum] = in[i].first;
}
}
int result = 0;
for (auto& a : check)
{
result += a.second;
}
cout<<result;
return 0;
}
이런식으로 풀어봤는데 어디가 잘못되었는지 잘 모르겠습니다.
아! 죄송합니다 다시 질문올리겠습니다