救(玄关)
查看原帖
救(玄关)
765573
DreamInk楼主2024/8/17 17:36

95pts,最后一个样例

#include<iostream>
#include<algorithm>
using namespace std;
struct node{
	long long x,y;
	int id;
}a[250005];
long long n,sum,ans,T;
bool cmp(node A,node B){
	if(min(A.x, B.y) == min(A.y, B.x))return A.id>B.id;
	return min(A.x, B.y) < min(A.y, B.x);
}
int main(){
	cin>>T;
	while(T--){
		cin>>n;
		ans=0;
		sum=0;
		for(int i=1;i<=n;i++)cin>>a[i].x>>a[i].y,a[i].id=i;
		sort(a+1,a+n+1,cmp);
		for(int i=1;i<=n;i++){
			sum+=a[i].x;
			ans=max(ans,sum)+a[i].y;
		}
		cout<<ans<<endl;
	}
	return 0;
}
2024/8/17 17:36
加载中...