hdu 4070福州网络赛 简单贪心

一开始就瞄准了这一题,题目没看懂,想看其他题目,没想到瞬间就有十几个人A了,果断继续看,发现只要距离远的先输送细菌就好了

View Code
#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
struct cell{
int d,t;
}c[100010];
int end[100010];
int sum;
int cmp(cell a,cell b)
{
if(a.t==b.t)
return a.d>b.d;
return a.t>b.t;
}
int main()
{
int t;
int cases=1;
int i,j;
int n,ans;
scanf("%d",&t);
while(t--)
{
ans=0;
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d%d",&c[i].d,&c[i].t);
sort(c,c+n,cmp);
sum=c[0].d;
end[0]=c[0].d+c[0].t;
for(i=1;i<n;i++)
{
end[i]=sum+c[i].d+c[i].t;
sum+=c[i].d;
}
sort(end,end+n);
printf("Case %d: %d\n",cases++,end[n-1]);
}
return 0;
}



你可能感兴趣的:(HDU)