QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#235744#5301. Modulo Ruins the Legendushg8877#WA 38ms3816kbC++20633b2023-11-03 08:13:032023-11-03 08:13:03

Judging History

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

  • [2023-11-03 08:13:03]
  • 评测
  • 测评结果:WA
  • 用时:38ms
  • 内存:3816kb
  • [2023-11-03 08:13:03]
  • 提交

answer

#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define MP make_pair
mt19937 rnd(time(0));
int n,m;ll s;
void construct(ll x,ll y,ll p){
	int g=__gcd(x,y);
	x/=g,y/=g,p/=g;
	map<int,int> mp;
	for(int i=1;i<=1e6;i++){
		ll k=rnd()%m;
		mp[k*x%m]=k;
	}
	while(1){
		ll k=rnd()%m;
		if(mp.count((p-y*k%m+m)%m)){
			cout<<mp[(p-y*k%m+m)%m]<<' '<<k<<endl;
			return;
		}
	}
}
int main(){
	ios::sync_with_stdio(false);
	cin>>n>>m;
	for(int i=1,a;i<=n;i++){
		cin>>a;s+=a;
	}
	ll a=1ll*n*(n+1)/2%m,b=n%m;s%=m;
	ll g=__gcd(a,b);
	cout<<s%g<<endl;
	construct(a,b,(m+s%g-s)%m);
	return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 35ms
memory: 3680kb

input:

6 24
1 1 4 5 1 4

output:

1
3 3

result:

ok ok

Test #2:

score: -100
Wrong Answer
time: 38ms
memory: 3816kb

input:

7 29
1 9 1 9 8 1 0

output:

0
5 9

result:

wrong answer Result not equal to solution.