求助
查看原帖
求助
218172
BiaxialRay楼主2020/7/25 16:39
#include<cstdio>
#include<algorithm>
using namespace std;
#define ll long long
const int Max = 1e6 + 50;
ll n,t;

ll Abs(ll a){
	return a < 0 ? -a : a;
}

ll min(ll a,ll b){
	return a < b ? a : b;
}

ll max(ll a,ll b){
	return a > b ? a : b;
}

struct Node{
	ll a;
	ll b;
}node[Max];

bool cmp(Node x,Node y){
	return min(x.a,y.b) < min(y.a,x.b);
}

int main(){
	scanf("%lld",&t);
	ll i,c,maxc;
	ll sum;
	while(t--){
		scanf("%lld",&n);
		for(i = 1;i <= n;++i){
			scanf("%lld %lld",&node[i].a,&node[i].b);
		}
		sort(node+1,node+n+1,cmp);
		c = node[1].a + node[1].b;
		sum = node[1].a;
		maxc = c;
		for(i = 2;i <= n;++i){
			sum += node[i].a;
			c = max(c,sum) + node[i].b;
			maxc = max(maxc,c);
		}
		printf("%lld\n",maxc);
	}
	
	return 0;
}

WA了最后4个点 写了好久都没过

2020/7/25 16:39
加载中...