zoukankan      html  css  js  c++  java
  • Uva 11729 Commando War

      例题代码是c++,看起来实在不习惯。还是用我的c写舒服。

    题意:突击队

      你有n个部下,每个部下需要完成一项任务。第i个部下需要你话b[i]分钟交代任务然后他会立刻独立地、无间断地执行j[i]分钟后完成任务。你需要选择交代任务的顺序,使得所有任务今早执行完毕(即最后一个执行完的任务尽早结束)。注意,不能同时给两个部下交代任务,但部下们可以同时执行他们各自的任务。

    #include<stdio.h>
    #include<stdlib.h>
    #define max(a,b) (a)>(b)? (a):(b);
    struct Node
    {
        int b,j;
    }J[1005];
    int cmp(const void*a,const void*b)
    {
        struct Node *c=(struct Node *)a;
        struct Node *d=(struct Node *)b;
        return c->j < d->j;
    }
    int main(void)
    {
        int n,b,j,i,kase=1,sum,ans;
        while(scanf("%d",&n)==1&&n)
        {
            for(i=0;i<n;i++)
                scanf("%d%d",&J[i].b,&J[i].j);
            qsort(J,n,sizeof(J[0]),cmp);
            sum=0,ans=0;
            for(i=0;i<n;i++)
            {
                sum+=J[i].b;
                ans=max(ans,sum+J[i].j);//这里是关键,得到最大值 
            }
            printf("Case %d: %d
    ",kase++,ans);
        }
        return 0;
    }
  • 相关阅读:
    Freemarker-2.3.22 Demo
    Freemarker-2.3.22 Demo
    Freemarker-2.3.22 Demo
    Freemarker-2.3.22 Demo
    Oracle PLSQL Demo
    Oracle PLSQL Demo
    Oracle PLSQL Demo
    Oracle PLSQL Demo
    Oracle PLSQL Demo
    Oracle PLSQL Demo
  • 原文地址:https://www.cnblogs.com/woshijishu3/p/3648341.html
Copyright © 2011-2022 走看看