30分求调
查看原帖
30分求调
1034912
wenchuang楼主2024/11/27 20:25

30分求调

#include<bits/stdc++.h>
using namespace std;
int t,n;
int a[300005],chu[300005],zong=0,x=0;//zong为三的组数,x为出牌次数
int main(){
	scanf("%d",&t);
	for(int i=0;i<t;i++){
		scanf("%d",&n);
		for(int j=0;j<n;j++){
			scanf("%d",&a[j]);
		}
		for(int j=0;j<n;j++){
			chu[j]=a[j]/3;
			zong+=chu[j];
			a[j]=a[j]%3;//a存除3的余数
		}
		x=zong;
		sort(a,a+n);
		for(int j=0;j<n;j++){
			if(zong>=a[j]){
				zong-=a[j];
				a[j]=0;
			}else if(a[j]!=0){
				x++;
			}
		}
		printf("%d\n",x);
		x=0;
		zong=0;
	}
}
2024/11/27 20:25
加载中...