神秘错误
查看原帖
神秘错误
347750
Zhouyc2009楼主2024/11/24 22:31
#include<bits/stdc++.h>
using namespace std;
#define int long long
int n,T,x,a,b,c,sum1,sum2,sum3;
signed main()
{
	freopen("新建文本文档.in","r",stdin);
	freopen("新建文本文档.out","w",stdout);
	cin>>T;
	while (T--)
	{
		cin>>n;
		sum1=sum2=sum3=a=b=c=0;
		for (int i=1;i<=n;i++)
		{
			cin>>x;
			c=c+x/3;
			sum3=sum3+x/3;
			if (x%3==1) a++;
			if (x%3==2) b++;
		}
		if (a+2*b<=c)
		 {
		 	cout<<a<<' '<<b<<' '<<c<<endl;
		 	c=c-a-2*b;
		 	int t;
		 	if (c%4==1||c%4==2) t=2;
		 	if (c%4==3) t=3;
		 	int ans=a+2*b+c/4*3+t;
		 	cout<<ans<<endl;
		 }
		 else
		  {
		 	if (c>=a) c=c-a;
		 	  else sum1=a-c,c=0;	
		 	if (c<2*b) 
			  	sum2=(b*2+1-c)/2;
			cout<<sum1+sum2+sum3<<endl;
		 }
	}
}

若代码加入P26行调试对于大样例会输出如下答案

100010 99831 50111229648344
37583422311176
99692 100149 50013360691684
37510020593761
100221 99905 49978126287302
37483594790485

但删去P26行调试后代码则会输出如下答案

178302014062712
37510020593761
37483594790485

请问这是怎么回事?

2024/11/24 22:31
加载中...