社区讨论

求调

P14361[CSP-S 2025] 社团招新参与者 1已保存回复 0

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
0 条
当前快照
1 份
快照标识符
@mhpi3l6l
此快照首次捕获于
2025/11/08 07:42
4 个月前
此快照最后确认于
2025/11/08 07:42
4 个月前
查看原帖
CPP
#include<bits/stdc++.h>
using namespace std;
struct T{
	int a,b,c,d,mx;
}a[100005];
bool cmp(T a,T b){
	return a.d>b.d;
}
int n,t;
int main(){
	cin>>t;
	while(t--){
		int ans=0;
		cin>>n;
		for(int i=1;i<=n;i++){
			cin>>a[i].a>>a[i].b>>a[i].c;
			int maxi=max(a[i].a,max(a[i].b,a[i].c));
			ans+=maxi;
			if(maxi==a[i].a){
				a[i].mx=1;
				a[i].d=min(maxi-a[i].b,maxi-a[i].c);
			}
			if(maxi==a[i].b){
				a[i].mx=2;
				a[i].d=min(maxi-a[i].a,maxi-a[i].c);
			}
			if(maxi==a[i].c){
				a[i].mx=3;
				a[i].d=min(maxi-a[i].b,maxi-a[i].a);
			}
		}
		sort(a+1,a+n+1,cmp);
		int av[4]={0,n/2,n/2,n/2};
		for(int i=1;i<=n;i++){
			if(av[a[i].mx]>0){
				av[a[i].mx]--;
			}
			else{
				ans-=a[i].d;
			}
		}
		cout<<ans<<endl;
	}
	return 0;
} 

求调

回复

0 条回复,欢迎继续交流。

正在加载回复...