刘汝佳《算法竞赛入门经典训练指南 1.1例2
表示uva这么卡,让人怎么受得了。。。
///2014.4.12
///uva11729
///刘汝佳《算法竞赛入门经典训练指南 1.1例2
#include <iostream>
#include <cstdio>
#include <string>
#include <cmath>
#include <algorithm>
#include <climits>
using namespace std;
#define maxn 1010
int n;
struct job{
int b,j;
};
job A[maxn];
bool cmp(job A,job B){
return A.j<B.j;
}
int main()
{
// freopen("in","r",stdin);
// freopen("out","w",stdout);
int cas = 1;
while( cin>>n && n ){
for(int i=0 ; i<n ; i++)
cin>>A[i].b>>A[i].j;
sort(A,A+n,cmp);
int ttime = 0;
int nowtime = 0;
for(int i=n-1 ; i>=0 ; i--){
int a = nowtime + A[i].b+A[i].j;
if( a>ttime )
ttime = a;
nowtime += A[i].b;
}
cout<<"Case "<<cas++<<": "<<ttime<<endl;
}
return 0;
}