社区讨论

10分求条,闭关

P11323【MX-S7-T1】「SMOI-R2」Happy Card参与者 1已保存回复 0

讨论操作

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

当前回复
0 条
当前快照
1 份
快照标识符
@mi3yjh8k
此快照首次捕获于
2025/11/18 10:31
4 个月前
此快照最后确认于
2025/11/18 10:31
4 个月前
查看原帖
CPP
#include<bits/stdc++.h>
using namespace std;
long long n,a[2000008],s,w,T,jd,bj,q,sum,sum2,sum1;

int qqt(int a,int b){
	return a>b;
}
int main(){
//	freopen("card.in","r",stdin);
//	freopen("card.out","w",stdout);
	ios::sync_with_stdio(0);
	cin.tie(0);cout.tie(0);
	cin>>T;
	while(T--){
		s=0,q=0,sum=0,bj=0;
		cin>>n;
		for(int i=1;i<=n;i++){
			cin>>a[i];
			sum+=a[i]/3;
			sum2+=(a[i]%3)/2;
			sum1+=((a[i]%3)%2)/1;
			if(a[i])q++;
			if(a[i]>2)bj=1;
		}		
		if(bj==0){
			cout<<q<<"\n";//////////////////////////////
			continue;
		}
		if(sum<sum1){
			cout<<sum1+sum2<<"\n";
		}
		else {
			s+=sum1;
			sum-=sum1;
			sum1=sum2*2;
			sum2=0;
			if(sum<sum1){
				sum2=(sum1-sum)/2;
				sum1=(sum1-sum)%2;
				cout<<sum1+sum2+1<<"\n";
			}			
			else{
				s+=sum1;
				sum-=sum1;
				sum1=0;
				s+=sum/4*3;//只剩下3的倍数 
				sum%=4;//
				if(sum==3)s+=3,sum=0;//
				else if(sum!=0)s+=2,sum=0;//
				cout<<s<<"\n";//
			}
		}
			
	}
	/*
		s+=sum/4*3;//只剩下3的倍数 
		sum%=4;//
		if(sum==3)s+=3,sum=0;//
		else if(sum!=0)s+=2,sum=0;//
		cout<<s<<"\n";//	
	*/
//	fclose(stdin);
//	fclose(stdout);
	return 0;
} 

回复

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

正在加载回复...