uva11729 - Commando War

http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=2829

补了一个小的知识漏洞,原来调用max函数,里面不能判断 long long型

又是个贪心的题目,最前面不知道下面数据怎么出来的,还以为是自己理解错了题意,然后自己按照自己幻想的题意,然后拼出了数据是怎么来的,但是很遗憾,WA;

总结:任何非题意所提供出来的条件,都是不可靠的,也是一定的不出正确的结果的,因此读懂题意很重要,所以,宁愿仔细读几遍题目,也不要轻易动手敲代码,另外还要相信自己,即使英语能力很菜 。

 

// File Name: uva11729.cpp

// Author: bo_jwolf

// Created Time: Wednesday, May 08, 2013 PM02:24:56 HKT



#include<vector>

#include<list>

#include<map>

#include<set>

#include<deque>

#include<stack>

#include<queue>

#include<bitset>

#include<algorithm>

#include<functional>

#include<numeric>

#include<utility>

#include<sstream>

#include<iostream>

#include<iomanip>

#include<cstdio>

#include<cmath>

#include<cstdlib>

#include<cstring>

#include<ctime>



using namespace std;

const int maxn = 10005 ;

typedef long long ll ;

struct node

{

	int people , sec;

}edge[ maxn ] ;



bool cmp( node a , node b )

{

	return a.sec > b.sec ;

}



int main()

{

	int n ;

	int k = 0 ;

	int sum ;

	while( scanf( "%d" , &n ) != EOF && n )

	{

		for( int i = 0 ; i < n ; i++ )

			scanf( "%d%d" , &edge[ i ].people , &edge[ i ].sec );

		sort( edge , edge + n , cmp ) ;

//		long long sum = 0 ;

		sum = 0 ;

		int ans = 0 ;

		for( int i = 0 ; i < n ; i++ )

		{

			ans += edge[ i ].people ;

			sum = max( sum , ans + edge[ i ].sec );

		}

		printf( "Case %d: %d\n" , ++k, sum ) ;

	}

	return 0;

}


 

 

你可能感兴趣的:(command)