복주 테니스 1010 War(욕심)

2875 단어 war
cin이 믿을 수 없다는 뜻입니다. 10^5의 데이터량은 TLE에서scanf300+ms로 바뀔 수 있습니다.
My Code:
#include <iostream>
#include <algorithm>
#include <cstdio>
#include <fstream>

using namespace std;

const int N = 100005;

class phage{
public:
int di;
int ti;
}p[N];

bool cmp(phage a, phage b){
if(a.ti != b.ti) return a.ti > b.ti;
else return a.di > b.di;
}

int main(){
#ifdef ONLINE_JUDGE
#else
freopen("data.in", "r", stdin);
#endif

int T, n, i, sum, tmp, ca = 0;
cin >> T;
while(T--){
cin >> n;
for(i = 0; i < n; i++){
scanf("%d%d", &p[i].di, &p[i].ti);
}
sort(p, p + n, cmp);
sum = 0; tmp = 0;
for(i = 0; i < n; i++){
tmp += p[i].di;
if(tmp + p[i].ti > sum){
sum = tmp + p[i].ti;
}
}
cout << "Case " << ++ca << ": " << sum << endl;
}
return 0;
}

좋은 웹페이지 즐겨찾기