QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#355416#8340. 3 Sumucup-team1525#WA 339ms39612kbC++141.2kb2024-03-16 17:28:212024-03-16 17:28:43

Judging History

你现在查看的是最新测评结果

  • [2024-09-20 10:20:30]
  • hack成功,自动添加数据
  • (/hack/848)
  • [2024-03-18 21:48:05]
  • hack成功,自动添加数据
  • (/hack/579)
  • [2024-03-18 21:45:33]
  • hack成功,自动添加数据
  • (/hack/578)
  • [2024-03-16 17:28:43]
  • 评测
  • 测评结果:WA
  • 用时:339ms
  • 内存:39612kb
  • [2024-03-16 17:28:21]
  • 提交

answer

#include<bits/stdc++.h>
using namespace std;
#define ll long long
const int N=505;
const int mod[5]={998244353,(int)1e9+7,(int)1e9+9,19260817,2147483647};
ll ha[N][5],Ha[5],Ha2[5];
char s[200005];
int a[N][20005];
int n,d;
void gjd(int x)
{
	for (int i=0;i<d;++i)
	{
		a[x][i+1]+=a[x][i]/10;
		a[x][i]%=10;
	}
}
int main()
{
	scanf("%d%d",&n,&d);
	for (int i=1;i<=n;++i)
	{
		scanf("%s",s);
		int p=0,m=strlen(s);
		for (int j=m-1;j>=0;--j)
		{
			a[i][p]+=s[j]-'0';
			++p;
			if (p==d)
				p=0;
		}
		gjd(i);
		while (a[i][d]!=0)
		{
			a[i][0]+=a[i][d];
			a[i][d]=0;
			gjd(i);
		}
		for (int j=0;j<5;++j)
			for (int k=0;k<d;++k)
				ha[i][j]=((ll)ha[i][j]*10+a[i][k])%mod[j];
	}
	for (int i=0;i<5;++i)
	{
		for (int j=0;j<d;++j)
			Ha[i]=((ll)Ha[i]*10+9)%mod[i];
		Ha2[i]=((ll)Ha[i]*2)%mod[i];
	}
	int ans=0;
	for (int i=1;i<=n;++i)
		for (int j=i;j<=n;++j)
			for (int k=j;k<=n;++k)
			{
				int b=1;
				for (int l=0;l<5;++l)
				{
					int tmp=(ha[i][l]+ha[j][l]+ha[k][l])%mod[l];
					if (tmp!=0&&tmp!=Ha[l]&&tmp!=Ha2[l])
					{
						b=0;
						break;
					}
				}
				ans+=b;
			}
	cout<<ans<<endl;
	return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 1ms
memory: 3628kb

input:

4 1
0
1
10
17

output:

3

result:

ok 1 number(s): "3"

Test #2:

score: 0
Accepted
time: 41ms
memory: 7544kb

input:

500 859
7118711592236878297922359501613604144948355616986970837340677671376753603836852811886591300370143151943368529129749813118476151865844255212534355441611481420938483178075143062691345257288242460282715389758789648541099090735875617822348551942134616963557723055980260082230902505269975518146286...

output:

0

result:

ok 1 number(s): "0"

Test #3:

score: 0
Accepted
time: 339ms
memory: 39612kb

input:

500 17336
11871159223687829792235950161360414494835561698697083734067767137675360383685281188659130037014315194336852912974981311847615186584425521253435544161148142093848317807514306269134525728824246028271538975878964854109909073587561782234855194213461696355772305598026008223090250526997551814628...

output:

0

result:

ok 1 number(s): "0"

Test #4:

score: -100
Wrong Answer
time: 83ms
memory: 5760kb

input:

500 1
751324443898124078584847834484321089092662321556147445230263526014359393841194947303407593948729802551881289193716611867931891257925091769456350249725997883453296895094445731130479434019358742162771547784250401546380268386074363779242500860317042151185119666027858022664683818314351285215150806...

output:

2277515

result:

wrong answer 1st numbers differ - expected: '2327631', found: '2277515'