QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#627000 | #5301. Modulo Ruins the Legend | djwcb | WA | 1ms | 5680kb | C++23 | 1.9kb | 2024-10-10 14:26:21 | 2024-10-10 14:26:22 |
Judging History
answer
#include<bits/stdc++.h>
#define int long long
#define endl '\n';
using namespace std;
typedef long long ll;
typedef pair<int,int> pii;
typedef double db;
const int N=5e5+10,inf=1e9+10;
int n,m,k,sum=0,mod,ns[N];
int vis[N];
ll exgcd(ll a,ll b,ll &x,ll &y)
{
if(!b)
{
x=1;y=0;
return a;
}
else
{
ll tx,ty;
ll d=exgcd(b,a%b,tx,ty);
x=ty;y=tx-(a/b)*ty;
return d;
}
}
int cacu(){
int res=0;
int v=(1+n);
if(n%2==0){
res=v*n/2;
}else {
res=n/2*v+v/2;
}
return res%mod;
}
void solve(){
cin>>n>>mod;
for(int i=1;i<=n;i++){
cin>>ns[i];
sum+=ns[i];
}
int all=cacu();
sum%=mod;
int now=mod-sum;
for(int i=0;i<=n;i++){
int a=n,b=all,k=(now+i)%mod,x=0,y=0;
// cout<<a<<" "<<b<<endl;
int d=exgcd(a,b,x,y);
// cout<<"-----------"<<endl;
// cout<<k<<" "<<d<<endl;
if(k%d==0){
// cout<<x<<" "<<y<<endl;
x%=mod;
y%=mod;
int ans1=0,ans2=0;
if(x<0){
int v=x*n;
int tv=mod-v%mod;
int o=0,oo=0;
// cout<<a<<" "<<mod<<endl;
int p=exgcd(a,mod,o,oo)%mod;
ans1=o;
ans2=y;
}
if(y<0){
int v=y*all;
int tv=mod-v%mod;
int o=0,oo=0;
int p=exgcd(all,mod,o,oo)%mod;
ans1=x;
ans2=oo;
}
cout<<i<<endl;
cout<<ans1<<" "<<ans2<<endl;
return ;
}
}
}
signed main(){
// ios::sync_with_stdio(0);
// cin.tie(0);
// cout.tie(0);
int T=1;
// cin>>T;
while(T--){
solve();
}
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 0
Wrong Answer
time: 1ms
memory: 5680kb
input:
6 24 1 1 4 5 1 4
output:
1 1 1
result:
wrong answer Result not equal to solution.