The 2022 ICPC Asia Hangzhou Regional Programming Contest
点击查看代码
int exgcd(int a,int b,int &x,int &y){
if(!b){
x=1,y=0;return a;
}
int ans= exgcd(b,a%b,y,x);
y=y-(a/b)*x;
return ans;
}
int inv(int x) { return qpw(x, mod - 2); }
void solve(){
int n,m,x,y;cin>>n>>m;
int sum=0;
for(int i=1;i<=n;i++)cin>>x,sum+=x;
sum%=m;
int s,d;int p=exgcd(n,n*(n+1)/2,s,d);
int t,k;
int g=exgcd(p,m,k,t);
int z=(m-sum+g-1)/g;
cout<<z*g+sum-m<<'\n';
k=k*z%m;
s=(s*k%m+m)%m,d=(d*k%m+m)%m;
cout<<s<<" "<<d<<'\n';
}
本文作者:archer233
本文链接:https://www.cnblogs.com/archer233/p/18534019
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步