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

    B - 
    Time Limit:1000MS     Memory Limit:0KB     64bit IO Format:%lld & %llu
    Submit Status

    Description

    或许每个人都有成为将军的梦想,小光也是如此。从小,小光就立志长大了以后要做一名军人,保家卫国。有一天,他做了一个梦,在梦里,他是一个英明神武的将军,但是敌国马上就要入侵了,作为将军的他责无旁贷需要挺身而出,于是他开始做一些战略部署。
    假设当前小光有n个部下,每个部下需要完成一项任务。第i个部下需要小光花Bi分钟交代任务,然后他会立刻独立地、无间断地执行Ji分钟后完成任务。小光需要选择交代任务的顺序,使得所有任务尽早执行完毕(即最后一个执行完的任务应尽早结束)。注意,不能同时给两个部下交代任务,但部下们可以同时执行他们各自的任务。

    Input

    输入包含多组数据,每组数据的第一行为部下的个数n(1<=n<=1000);以下n行,每行两个正整数B和J(1<=B<=10000,1<=J<=10000),即交待任务的时间和执行任务的时间。输入结束标志为n=0。

    Output

    对组每组数据,输出所有任务完成的最短时间。具体输出格式见样例,用Case开头,Case以后输出当前数据的序号,然后输出答案。

    Sample Input

    3
    2 5
    3 2
    2 1
    3
    3 3
    4 4 
    5 5
    0

    Sample Output

    Case 1: 8
    Case 2: 15
     
    #include<iostream>
    #include<stdio.h>
    #include<algorithm>
    using namespace std;
    struct Node{
        int b,j;
    }wor[1005];
    bool cmp(Node w1,Node w2){
        return w1.j>w2.j;
    }
    int main(){
        int n;
        int t=1;
        while((scanf("%d",&n))&&n!=0){
            for(int i=0;i<n;i++){
                scanf("%d%d",&wor[i].b,&wor[i].j);
            }
            sort(wor,wor+n,cmp);
            int tmp=0;
            int ans=0;
            for(int i=0;i<n;i++){
                tmp+=wor[i].b;
                ans=max(tmp+wor[i].j,ans);
            }
            printf("Case %d: %d
    ",t++,ans);
        }
        return 0;
    }
    View Code
  • 相关阅读:
    特效优化
    Jsp
    JRebel 热部署
    mysql
    行为树
    Medium | LeetCode 139. 单词拆分 | 动态规划
    Medium | LeetCode 31. 下一个排列
    Easy | LeetCode 27. 移除元素 | 快慢指针
    Medium | LeetCode 437. 路径总和 III | 树 + 回溯 + 前缀和
    Medium | LeetCode 337. 打家劫舍 III | 树后序遍历 + 动态规划
  • 原文地址:https://www.cnblogs.com/superxuezhazha/p/5686076.html
Copyright © 2011-2022 走看看