hdu4221-Greedy?

http://acm.hdu.edu.cn/showproblem.php?pid=4221

使用C++输入输出TLE,输出使用 %lld 会WA,要用%i64d输出

题目没有什么陷阱

// File Name: hdu4221.cpp
// Author: bo_jwolf
// Created Time: Wednesday, May 08, 2013 PM01:15:20 HKT

#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include

using namespace std;
typedef long long ll ;
const int maxn = 100005 ;
struct node 
{
	int a , b ;
}edge[ maxn ] ;

bool cmp( node x , node y )
{
	return x.b < y.b ;
}

int main()
{
	int t , n ;
	int k = 0 ;
	scanf( "%d" , &t ) ;
	while( t-- )
	{
		k++ ;
		scanf( "%d" , &n ) ;
		for( int i  = 0 ; i < n ; i++ )
			scanf( "%d%d" , &edge[ i ].a , &edge[ i ].b ) ;
		long long sum = 0 ;
		long long ans = 0 ;
		sort( edge , edge + n , cmp ) ;
		for( int i = 0 ; i < n ; i++ )
		{
			sum += edge[ i ].a ;
			if( sum - edge[ i ].b > ans )
				ans = sum - edge[ i ].b ;
		}
		printf( "Case %d: %I64d\n" , k , ans ) ;
	}
	return 0;
}


你可能感兴趣的:(贪心,一点一点学算法,学习之路)