在国内上uva很慢,还好bnuoj有uva的题,很有爱(⊙o⊙)哦,代码参考自刘汝佳的训练指南
题目链接:点击打开链接
#include<cstdio>
#include<vector>
#include<algorithm>
using namespace std;
#define N 1002
struct Job{
int j,b;
bool operator < (const Job& x) const{ //运算符重载!格式: 返回类型 operator 运算符(参数表){}
return j > x.j;
}
};
int main()
{
int x,y,n;
vector<Job>v;
int cases=0;
while(scanf("%d",&n)==1&&n){
for(int i=0;i<n;i++)
{
scanf("%d %d",&x,&y);
v.push_back((Job){y,x});
}
sort(v.begin(),v.end());//sort利用结构体重载的运算符排序
int ans = 0;
int flag = 0;
for(int i=0;i<n;i++)
{
flag += v[i].b;
ans = max(ans,flag + v[i].j);
}
printf("Case %d: %d\n",++cases,ans);
}
return 0;
}