본문 바로가기

성우리뷰

과제

#include <iostream>
#include <vector>
#include <algorithm>
#include <cstring>

using namespace std;

int n;
vector<pair<int, int>> arr;

bool sorting(const pair<int, int>&a, const pair<int, int>&b)
{
return (a.second > b.second);
}

int main()
{
scanf_s("%d", &n);
int data[1001];
memset(data, 0, sizeof(data));

int deadline, score;
for (int i = 1; i <= n; i++)
{
scanf_s("%d %d", &deadline, &score);
arr.push_back({ deadline, score });
}

sort(arr.begin(), arr.end(), sorting);

for (int i = 0; i < n; i++)
{
int temp = arr[i].first;
while (temp >= 1)
{
if (data[temp] == 0)
{
data[temp] = arr[i].second;
break;
}
else
{
temp--;
}
}
}

int result=0;
for (int i = 1; i <= 1000; i++)
{
result += data[i];
}

printf("%d", result);
return 0;
}

'성우리뷰' 카테고리의 다른 글

도둑질(with 비트마스킹, dp)  (2) 2020.09.08
배낭  (2) 2020.09.03
  (2) 2020.08.21
범위가 커졌을 때의 최대 긴 증가수열  (1) 2020.08.12
삼각형 내려가  (2) 2020.08.12