现在的位置: 首页 > 综合 > 正文

hdu4221-Greedy?

2013年12月10日 ⁄ 综合 ⁄ 共 908字 ⁄ 字号 评论关闭

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<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;
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;
}

抱歉!评论已关闭.