A1 W9 求助
查看原帖
A1 W9 求助
543346
WCCCCCT楼主2024/5/12 11:36

如下

#include<iostream>
#include<cmath>
#include<algorithm>
using namespace std;
typedef long long ll;
int n;
struct card{
	ll a,b,s;
};
card c[528365];//卡 a正b反 s效益 

bool cmp(card a,card b){
	return a.s<b.s;	
}

ll ans=0;
int main(){
	cin>>n;
	for(int i=1;i<=n;i++){
		cin>>c[i].a>>c[i].b;
		c[i].s=c[i].a+c[i].b;//效益 
		
	}
	sort(c,c+1+n,cmp);
	
//	for(int i=1;i<=n;i++){
//		cout<<c[i].s<<endl;
//	}
	//-+- -+-+
   //减数不少于加数
	for(int i=1;i<=n/2;i++){//前半+
		ans+=min(c[i].a,c[i].b);
	}

	for(int i=n/2+1;i<=n;i++){//后半-
		ans-=max(c[i].a,c[i].b);
	}
	
	cout<<ans;
	return 0;
} 
2024/5/12 11:36
加载中...