QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#621529 | #5301. Modulo Ruins the Legend | wdw | WA | 10ms | 3748kb | C++20 | 2.2kb | 2024-10-08 15:10:17 | 2024-10-08 15:10:18 |
Judging History
answer
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef double db;
#define int long long
const int N = 2e5 + 5;
const double eps = 1e-10;
int x, y;
//ax+by=c
//裴蜀定理得c%gcd(a,b)==0才有解 解ax=c(mod b)=ax+by=c 可解得x=x0*c/gcd(a,b),此时mod(b(b值会变化)/gcd(a,b))
int exgcd(int a, int b, int &x, int &y) {
if (b == 0) {
x = 1, y = 0;
return a;
}
int x1, y1;
int d = exgcd(b, a % b, x1, y1);
x = y1, y = x1 - a / b * y1;
return d;
}
void solve() {
int n, m;
cin >> n >> m;
int s = 0;
for (int i = 1, x; i <= n; i++) {
cin >> x;
s += x;
s %= m;
}
int a = n;
x = 0, y = 0;
int d = exgcd(a, m, x, y);
s = m - s;
if (s % d == 0) {
x*=s/d;
cout << 0 << '\n';
int l = m / d;
x %= l;
x += l;
x %= l;
cout << x << " " << 0 << '\n';
return;
}
a = (n) * (n + 1) / 2;
x = 0, y = 0;
d = exgcd(a, m, x, y);
if (s % d == 0) {
x*=s/d;
cout << 0 << '\n';
int l = m / d;
x %= l;
x += l;
x %= l;
cout << 0 << " " << x << '\n';
return;
}
for(int i=1;i<=n;i++){
s++;
s %= m;
a = n;
x = 0, y = 0;
d = exgcd(a, m, x, y);
if (s % d == 0) {
x*=s/d;
cout << i << '\n';
int l = m / d;
x %= l;
x += l;
x %= l;
cout << x << " " << 0 << '\n';
return;
}
a = (n) * (n + 1) / 2;
x = 0, y = 0;
d = exgcd(a, m, x, y);
if (s % d == 0) {
x*=s/d;
cout << i << '\n';
int l = m / d;
// cout<<x<<" "<<l<<'\n';
x %= l;
x += l;
x %= l;
cout << 0 << " " << x << '\n';
return;
}
}
}
signed main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
cout.tie(nullptr);
// cout << fixed << setprecision(10);
int T = 1;
//cin >> T;
while (T--) solve();
return 0;
}
詳細信息
Test #1:
score: 100
Accepted
time: 0ms
memory: 3648kb
input:
6 24 1 1 4 5 1 4
output:
1 0 5
result:
ok ok
Test #2:
score: 0
Accepted
time: 0ms
memory: 3656kb
input:
7 29 1 9 1 9 8 1 0
output:
0 0 0
result:
ok ok
Test #3:
score: 0
Accepted
time: 0ms
memory: 3612kb
input:
1 1 0
output:
0 0 0
result:
ok ok
Test #4:
score: 0
Accepted
time: 0ms
memory: 3668kb
input:
1 1000000000 963837005
output:
0 36162995 0
result:
ok ok
Test #5:
score: 0
Accepted
time: 0ms
memory: 3604kb
input:
2 1 0 0
output:
0 0 0
result:
ok ok
Test #6:
score: 0
Accepted
time: 0ms
memory: 3672kb
input:
2 1000000000 948507269 461613424
output:
0 0 529959769
result:
ok ok
Test #7:
score: 0
Accepted
time: 0ms
memory: 3672kb
input:
100000 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0...
output:
0 0 0
result:
ok ok
Test #8:
score: 0
Accepted
time: 3ms
memory: 3680kb
input:
100000 1000000000 253614966 278270960 980235895 498158918 928430170 216003119 852570558 948400590 239257296 897053667 294741176 38297441 382677590 406314557 609468973 854148232 314532767 738191551 158215002 5865825 920471826 380037058 356271728 749175327 28319049 208101105 953758995 896570758 521930...
output:
46613 0 9281
result:
ok ok
Test #9:
score: 0
Accepted
time: 6ms
memory: 3748kb
input:
100000 998244353 561002596 498658036 721339539 63377827 532179242 934651519 234198881 490149304 2056307 499913682 427679408 694677560 516580968 300129454 816286800 688594301 183049581 456627420 495848352 273497462 953217060 796225499 207179832 728054671 409492082 25003432 810431468 206421553 5569626...
output:
0 419943281 0
result:
ok ok
Test #10:
score: 0
Accepted
time: 6ms
memory: 3676kb
input:
100000 823593588 49428507 531539751 61870891 800048628 775048962 784733848 328557377 689322372 219461104 675220341 766029393 488914111 239397724 96030886 535128775 725148224 781428428 415057434 63184780 813491758 45833062 206477264 794055396 620712453 773776688 121478140 274571586 180906090 39075043...
output:
0 158991686 0
result:
ok ok
Test #11:
score: 0
Accepted
time: 6ms
memory: 3732kb
input:
100000 983275893 454625390 806969222 617741665 837404489 938645284 681398122 407211415 331494759 297580058 157522489 86886529 279559123 314433333 128017817 334728209 485708969 389458361 293383056 700448142 179967281 812270136 157507274 455502368 464300877 103838359 833551145 360433787 444681395 7501...
output:
0 143572552 0
result:
ok ok
Test #12:
score: 0
Accepted
time: 3ms
memory: 3692kb
input:
99999 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...
output:
0 0 0
result:
ok ok
Test #13:
score: 0
Accepted
time: 3ms
memory: 3676kb
input:
99999 238957253 68606395 53811313 95378516 109308150 65279352 125763646 16026342 38880935 116271524 62503327 67732472 195242815 49755462 238084368 145043512 123589025 37521794 124245266 123859798 135679999 133334477 229769662 113059739 78645151 125785473 169825718 204464350 153216471 171447059 23236...
output:
0 499790 0
result:
ok ok
Test #14:
score: 0
Accepted
time: 6ms
memory: 3740kb
input:
99999 1000000000 773048742 726584889 597425040 944388841 710710917 747919780 132563193 839347904 483913695 95381937 7446129 100858470 602901041 590306547 547459370 292951919 853573243 47681567 524669205 506410451 331535043 37436560 637160298 365763694 709388434 793664195 901206820 151514497 60590731...
output:
0 249914721 0
result:
ok ok
Test #15:
score: 0
Accepted
time: 6ms
memory: 3676kb
input:
99999 999999999 888840281 93692296 296589548 949794353 692951502 895294122 782832861 683498634 970358907 294339888 115730051 589123273 183323610 416336076 149941432 475728700 755718434 581889924 74455609 167550374 247523686 688577004 821847350 98065413 360381264 60246844 411759716 395970303 81107563...
output:
2 44787698 0
result:
ok ok
Test #16:
score: 0
Accepted
time: 6ms
memory: 3744kb
input:
99999 846956435 443861489 97608079 615408932 350315819 21503072 644537785 647434913 660201397 764328386 89386723 675552324 471555958 22924647 718972712 671310924 644644002 442364711 572788363 259294822 521396289 518323067 817788234 702381875 151329035 822126647 675021898 725706863 326198548 53571450...
output:
0 582027289 0
result:
ok ok
Test #17:
score: 0
Accepted
time: 5ms
memory: 3672kb
input:
65536 536870912 356781422 423177907 66935958 280088006 500004658 27810831 281774279 427322144 342456096 301115251 518404449 204035995 61213788 69802683 485038115 383425084 432954077 501293754 169471197 437606462 420671984 326793650 423545846 8382353 17064627 88596957 228300006 432517462 190457499 35...
output:
18880 7403 0
result:
ok ok
Test #18:
score: 0
Accepted
time: 6ms
memory: 3696kb
input:
98529 598239435 342045580 476244298 80528592 292342059 363596806 222654730 419216010 523306935 583481612 312635139 545799900 235763874 482764637 92014988 5590167 294862363 581675448 414336353 54446376 552730926 158879092 500574752 454231047 489638760 338668170 76998671 266346940 181884899 150769215 ...
output:
2 56205068 0
result:
ok ok
Test #19:
score: -100
Wrong Answer
time: 10ms
memory: 3664kb
input:
98304 849346560 245740016 276857129 794344397 579758780 260038236 667646924 491580243 356606252 196968987 668075896 3625614 640329085 444549122 538085592 327803014 793217244 178467947 278152120 714174981 487229913 710726066 611228557 219432475 663100648 743861434 472376299 140149403 421004513 755851...
output:
87144 5970 0
result:
wrong answer Participant answer greater than judge