QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#107020 | #5301. Modulo Ruins the Legend | SmallBlack | RE | 2ms | 3552kb | C++14 | 1.3kb | 2023-05-20 08:17:16 | 2023-05-20 08:17:19 |
Judging History
answer
// Problem: A - Modulo Ruins the Legend
// Contest: Virtual Judge - 过什么520做题要紧
// URL: https://vjudge.net/contest/559671#problem/A
// Memory Limit: 1024 MB
// Time Limit: 1000 ms
// Date:2023-05-20 07:53:13
// By:SmallBlack
//
// Powered by CP Editor (https://cpeditor.org)
#include<bits/stdc++.h>
using namespace std;
inline long long read()
{
long long s=0,k=1;
char c=getchar();
while(!isdigit(c))
{
k=(c=='-')?-1:1;
c=getchar();
}
while(isdigit(c))
{
s=s*10+c-'0';
c=getchar();
}
return s*k;
}
#define d read()
#define ll long long
#define Maxn 10010
#define Size 10010
#define mp make_pair
#define pb push_back
#define fi first
#define se second
ll exgcd(ll a,ll b,__int128 &x,__int128 &y)
{
if(b==0)
{
x=1,y=0;
return a;
}
ll e=exgcd(b,a%b,x,y);
ll z=x;
x=y,y=z-y*(a/b);
return e;
}
void write(__int128 x)
{
if(x>9) write(x/10);
putchar('0'+x%10);
return;
}
int main()
{
ll n=d,m=d;
ll sum=0;
for(int i=0;i<n;i++) (sum+=d)%=m;
ll a=n,b=n*(n+1)/2;
a%=m,b%=m;
ll Gcd=__gcd(a,b);
ll Gcd_abm=__gcd(__gcd(a,b),m);
printf("%lld\n",sum%Gcd_abm);
__int128 xx,x,y;
exgcd(Gcd_abm,m,xx,x);
xx=(-sum/__gcd(a,b)*(xx%m))%m;
exgcd(a,b,x,y);
x=(x%m*xx%m+m)%m,y=(y%m*xx%m+m)%m;
write(x),putchar(' '),write(y);
}
详细
Test #1:
score: 100
Accepted
time: 2ms
memory: 3524kb
input:
6 24 1 1 4 5 1 4
output:
1 15 19
result:
ok ok
Test #2:
score: 0
Accepted
time: 2ms
memory: 3552kb
input:
7 29 1 9 1 9 8 1 0
output:
0 0 0
result:
ok ok
Test #3:
score: -100
Runtime Error
input:
1 1 0