UVA11729 贪心
程序员文章站
2022-06-02 20:26:17
...
简单排序,按每个任务的J值从大到小排序即可。
#include <cstdio>
#include <cstring>
#include <cmath>
#include <algorithm>
using namespace std;
const int maxn = 1e3+20;
struct node{
int b,j;
bool operator <(const node & x)const{
return j>x.j;
}
}a[maxn];
int n,time,t;
void init(){
for (int i=0; i<n; i++) scanf("%d %d",&a[i].b,&a[i].j);
sort(a,a+n);
time = a[0].b+a[0].j;
t = a[0].b;
}
int kase = 0;
int main(){
while (scanf("%d",&n) && n){
init();
for (int i=1; i<n; i++) {
t+=a[i].b;
time = max(time,t+a[i].j);
}
printf("Case %d: %d\n",++kase,time);
}
return 0;
}
上一篇: Mysql SQL服务器模式介绍