uva11729突击战!!!

第一次写博客啊,以前一直发在qq空间里面防毒,真的很不好,伟大的唐老师和chc告诉我应该写博客,那就来吧。
怎么说呢?这道题的思路很简单,但是就是实现的出了一点问题,我一开始想用一个rest的指针来指向剩余时间,但是好麻烦的。看大白书上写用上次终端时间和这次终端时间进行比较,就得出结果了。

#include<cstdio>
#include<algorithm>
using namespace std;

struct node{
    int listen , work;
}a[1100];
bool cmp(node a ,node b)
{
    return a.work > b.work;
}
int main()
{
    int n;
    int cnt = 0;
    while(~scanf("%d", &n)){
        if(n == 0) break;
        for(int i = 0 ; i < n ; i++) scanf("%d%d",&a[i].listen , &a[i].work);
        sort(a , a + n , cmp);
        int ans = 0 , s =0;
        for(int i = 0 ; i < n ; i++){
            s += a[i].listen;
            ans = max(ans , s + a[i].work);
         //   printf("***%d",ans);
        }
        printf("Case %d: ",++cnt);
        printf("%d\n",ans);
    }
    return 0;
}
发布了209 篇原创文章 · 获赞 4 · 访问量 4万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览