문제출처 : https://www.acmicpc.net/problem/7983
code
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
bool compare(const pair<int, int>& a, const pair<int, int>& b) {
return a.second > b.second; //<오름차순, >내림차순
}
int main()
{
int i, n, min = 1000000001, day;
cin >> n;
vector<pair<int, int>> data(n);
for (i = 0; i < n; i++)
cin >> data[i].first >> data[i].second;
sort(data.begin(), data.end(), compare);
day = data[0].second;
for (i = 0; i < n; i++)
{
if (day > data[i].second)
day = data[i].second;
day -= data[i].first;
}
cout << day;
return 0;
}
처음으로 pair와 compare함수를 사용해보았다.
참고로 두개다 구글링해서 복사 붙여넣기 한것 뿐이다.
코딩의 70%는 구글링이라는 말이 피부로 와닿은 순간이였던것 같다.
물론 모든 지식이 내머리에 있으면 좋겠지만, 그게 아니니까 이렇게 푸는것도 하나의 방법이 될수도 있겠구나 싶었다.