HDU 4070 Phage War

来源:互联网 发布:php鲜花网模板源码 编辑:程序博客网 时间:2024/06/11 05:50

       贪心,t 大的放到前面。。。因为感染所有cell需要的phage的总数是一定的,所以产生phage需要的时间是一定的,只需要考虑用来感染的时间,这样考虑的话,把 t 小的放后面的话,可以发现总时间的最少的。

#include<algorithm>#include<iostream>#include<cstring>#include<cstdio>#include<cmath>#define LL long long#define CLR(a, b) memset(a, b, sizeof(a))using namespace std;const int N = 111111;struct Cell{    int d, t;    bool operator < (const Cell& rhs) const    {        return t > rhs.t;    }}C[N];int main(){    int t, cas = 1, n, i, j, ans, sum;    scanf("%d", &t);    while(t --)    {        scanf("%d", &n);        for(i = 0; i < n; i ++)        {            scanf("%d%d", &C[i].d, &C[i].t);        }        sort(C, C + n);        sum = ans = 0;        for(i = 0; i < n; i ++)        {            sum += C[i].d;            ans = max(ans, sum + C[i].t);        }        printf("Case %d: %d\n", cas ++, ans);    }}