QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#367831 | #2828. Algebra | bkd | AC ✓ | 3136ms | 162676kb | C++14 | 1.6kb | 2024-03-26 14:55:04 | 2024-03-26 14:55:05 |
Judging History
answer
#include<bits/stdc++.h>
using namespace std;
using ll=long long;
using db=double;
using pii=pair<int,int>;
#define endl "\n"
#define pb push_back
#define ull unsigned long long
#pragma GCC optimize(3,"Ofast","inline")
#define rep(i,l,r) for(int i = l;i <= r;i++)
const int N=1e6+10;
vector<int>fac[N];
ll mul(ll a,ll b) {
ll res = a*b;
if(res < -1e9)res = -1e9;
if(res > 1e9)res = 1e9;
return res;
}
ll qpow(ll a,ll b,ll m) {
ll res = 1;
while(b) {
if(b&1)res = mul(res,a);
a = mul(a,a);
b >>= 1;
}
return res;
}
void solve(int n,int m,int k)
{
ll ans = 0;
if(n == 1) {
if(k == 1)cout<<2ll*m*(2*m+1)<<'\n';
else cout<<0<<'\n';
return;
}
rep(b,-m,m) {
map<int,int>cn;
if(b == 0) {
rep(a,-m,m)cn[a]++;
rep(x,-m,m) {
if(x == 0)continue;
ll a = -qpow(x,n-1,m);
if(abs(a) <= m)cn[a]++;
}
} else {
for(auto x:fac[abs(b)]) {
ll a = -b/x - qpow(x,n-1,m);
if(abs(a) <= m)cn[a]++;
x = -x;
a = -b/x - qpow(x,n-1,m);
if(abs(a) <= m)cn[a]++;
}
}
for(auto x:cn)if(x.second == k)ans++;
}
cout<<ans<<'\n';
}
int main()
{
#ifdef ONLINE_JUDGE
ios::sync_with_stdio(0);
cin.tie(0),cout.tie(0);
#endif
rep(i,1,N) {
for(int j = i; j < N; j += i) {
fac[j].push_back(i);
}
}
int n,m,k;
while(cin>>n>>m>>k) solve(n,m,k);
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 562ms
memory: 117684kb
input:
2 1 1 2 2 2 3 3 3
output:
1 7 1
result:
ok 3 lines
Test #2:
score: 0
Accepted
time: 834ms
memory: 117772kb
input:
1 1 1 1 2 1 1 3 1 1 4 1 1 5 1 1 6 1 1 7 1 1 8 1 1 9 1 1 10 1 1 11 1 1 12 1 1 13 1 1 14 1 1 15 1 1 16 1 1 17 1 1 18 1 1 19 1 1 20 1 1 21 1 1 22 1 1 23 1 1 24 1 1 25 1 1 26 1 1 27 1 1 28 1 1 29 1 1 30 1 1 31 1 1 32 1 1 33 1 1 34 1 1 35 1 1 36 1 1 37 1 1 38 1 1 39 1 1 40 1 1 41 1 1 42 1 1 43 1 1 44 1 1...
output:
6 20 42 72 110 156 210 272 342 420 506 600 702 812 930 1056 1190 1332 1482 1640 1806 1980 2162 2352 2550 2756 2970 3192 3422 3660 3906 4160 4422 4692 4970 5256 5550 5852 6162 6480 6806 7140 7482 7832 8190 8556 8930 9312 9702 10100 10506 10920 11342 11772 12210 12656 13110 13572 14042 14520 15006 155...
result:
ok 9801 lines
Test #3:
score: 0
Accepted
time: 805ms
memory: 117652kb
input:
1 1 2 1 2 2 1 3 2 1 4 2 1 5 2 1 6 2 1 7 2 1 8 2 1 9 2 1 10 2 1 11 2 1 12 2 1 13 2 1 14 2 1 15 2 1 16 2 1 17 2 1 18 2 1 19 2 1 20 2 1 21 2 1 22 2 1 23 2 1 24 2 1 25 2 1 26 2 1 27 2 1 28 2 1 29 2 1 30 2 1 31 2 1 32 2 1 33 2 1 34 2 1 35 2 1 36 2 1 37 2 1 38 2 1 39 2 1 40 2 1 41 2 1 42 2 1 43 2 1 44 2 1...
output:
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 3 7 13 20 26 36 42 52 59 69 75 89 95 105 115 126 132 146 152 166 176 186 192 210 217 227 237 251 257 2...
result:
ok 9801 lines
Test #4:
score: 0
Accepted
time: 794ms
memory: 117704kb
input:
1 1 3 1 2 3 1 3 3 1 4 3 1 5 3 1 6 3 1 7 3 1 8 3 1 9 3 1 10 3 1 11 3 1 12 3 1 13 3 1 14 3 1 15 3 1 16 3 1 17 3 1 18 3 1 19 3 1 20 3 1 21 3 1 22 3 1 23 3 1 24 3 1 25 3 1 26 3 1 27 3 1 28 3 1 29 3 1 30 3 1 31 3 1 32 3 1 33 3 1 34 3 1 35 3 1 36 3 1 37 3 1 38 3 1 39 3 1 40 3 1 41 3 1 42 3 1 43 3 1 44 3 1...
output:
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 0 0 0 0 ...
result:
ok 9801 lines
Test #5:
score: 0
Accepted
time: 815ms
memory: 117688kb
input:
1 1 4 1 2 4 1 3 4 1 4 4 1 5 4 1 6 4 1 7 4 1 8 4 1 9 4 1 10 4 1 11 4 1 12 4 1 13 4 1 14 4 1 15 4 1 16 4 1 17 4 1 18 4 1 19 4 1 20 4 1 21 4 1 22 4 1 23 4 1 24 4 1 25 4 1 26 4 1 27 4 1 28 4 1 29 4 1 30 4 1 31 4 1 32 4 1 33 4 1 34 4 1 35 4 1 36 4 1 37 4 1 38 4 1 39 4 1 40 4 1 41 4 1 42 4 1 43 4 1 44 4 1...
output:
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 0 0 0 0 ...
result:
ok 9801 lines
Test #6:
score: 0
Accepted
time: 800ms
memory: 117688kb
input:
1 1 100 1 2 100 1 3 100 1 4 100 1 5 100 1 6 100 1 7 100 1 8 100 1 9 100 1 10 100 1 11 100 1 12 100 1 13 100 1 14 100 1 15 100 1 16 100 1 17 100 1 18 100 1 19 100 1 20 100 1 21 100 1 22 100 1 23 100 1 24 100 1 25 100 1 26 100 1 27 100 1 28 100 1 29 100 1 30 100 1 31 100 1 32 100 1 33 100 1 34 100 1 3...
output:
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 0 0 0 0 ...
result:
ok 9801 lines
Test #7:
score: 0
Accepted
time: 805ms
memory: 117752kb
input:
1 1 500000 1 2 500000 1 3 500000 1 4 500000 1 5 500000 1 6 500000 1 7 500000 1 8 500000 1 9 500000 1 10 500000 1 11 500000 1 12 500000 1 13 500000 1 14 500000 1 15 500000 1 16 500000 1 17 500000 1 18 500000 1 19 500000 1 20 500000 1 21 500000 1 22 500000 1 23 500000 1 24 500000 1 25 500000 1 26 5000...
output:
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 0 0 0 0 ...
result:
ok 9801 lines
Test #8:
score: 0
Accepted
time: 1048ms
memory: 117704kb
input:
578 237 1 713 995 1 335 454 1 640 374 1 718 942 1 924 478 1 783 694 1 530 793 1 368 502 1 829 291 1 26 32 1 335 212 1 668 98 1 856 793 1 195 958 1 748 337 1 636 73 1 771 608 1 290 152 1 536 945 1 406 436 1 240 85 1 673 849 1 178 951 1 595 462 1 285 105 1 972 369 1 575 295 1 484 149 1 860 903 1 641 1...
output:
1417 5968 2722 2239 5647 2863 4162 4753 3007 1744 187 1270 583 4753 5746 2017 433 3646 907 5665 2611 505 5092 5701 2770 628 2209 1768 889 5413 874 4807 1144 4045 355 439 5764 2269 5665 4576 979 4591 5287 1090 5419 4885 4237 1216 3121 4204 559 3904 3526 2368 2515 3424 3868 3691 4621 196 5176 4579 178...
result:
ok 996 lines
Test #9:
score: 0
Accepted
time: 1075ms
memory: 117684kb
input:
203 885 2 132 672 2 671 241 2 919 476 2 961 866 2 557 937 2 517 834 2 883 978 2 367 370 2 298 167 2 554 463 2 666 921 2 416 249 2 414 587 2 426 517 2 605 207 2 115 766 2 495 375 2 755 573 2 336 884 2 936 419 2 968 412 2 14 553 2 284 785 2 219 558 2 746 307 2 100 715 2 782 61 2 106 525 2 87 731 2 830...
output:
0 3 0 0 0 0 0 0 0 3 3 3 3 3 3 0 0 0 0 3 3 3 3 3 0 3 3 3 3 0 3 0 0 3 0 0 3 3 0 3 3 0 3 0 3 0 0 0 0 0 0 3 3 0 0 0 3 3 3 0 3 3 0 0 3 0 3 0 3 3 0 0 3 3 0 3 3 3 3 0 0 0 3 3 3 3 0 3 0 3 0 3 3 3 3 3 0 3 3 0 0 0 0 3 3 0 3 0 3 0 0 0 3 0 3 0 0 0 3 0 3 3 0 0 0 0 3 3 0 0 0 0 3 3 3 3 0 0 3 0 0 0 10 0 3 0 0 0 3 0...
result:
ok 994 lines
Test #10:
score: 0
Accepted
time: 1055ms
memory: 117920kb
input:
680 533 3 409 269 3 145 902 3 213 221 3 439 870 3 566 834 3 239 974 3 105 163 3 202 676 3 484 604 3 946 689 3 911 988 3 236 836 3 842 943 3 950 200 3 21 77 3 178 380 3 940 61 3 449 869 3 368 305 3 701 964 3 915 738 3 472 739 3 163 137 3 794 93 3 337 991 3 663 63 3 481 390 3 59 901 3 249 433 3 327 15...
output:
0 1 1 1 1 0 1 1 0 0 0 1 0 0 0 1 0 0 1 0 1 1 0 1 0 1 1 1 1 1 1 1 0 0 1 1 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 1 1 1 0 1 1 1 0 0 0 1 1 1 0 0 0 0 0 1 0 1 1 0 0 0 0 1 1 0 0 0 1 1 0 0 0 1 0 1 0 1 1 0 0 1 0 0 1 1 0 1 1 1 0 0 0 1 0 0 0 0 0 1 0 0 0 1 1 0 1 1 0 1 1 0 1 1 0 0 1 1 0 1 0 0 1 1 0 0 1 0 1 ...
result:
ok 988 lines
Test #11:
score: 0
Accepted
time: 2622ms
memory: 141132kb
input:
240363 277116 2 97128 25738 2 314633 50385 2 16721 95992 2 140375 28183 2 75271 6448 2 354012 11998 2 20088 3953 2 1095 99 2 33619 45 2 399698 32 2 395408 5 2 86410 6 2
output:
0 3 0 0 0 0 3 3 0 0 3 3 3
result:
ok 13 lines
Test #12:
score: 0
Accepted
time: 2539ms
memory: 158084kb
input:
43764 458932 3 475378 11851 3 302405 25039 3 475095 505 3 144912 51 3 166449 351 3 134516 1768 3 349953 807 3 425147 239 3 116238 285 3 373794 99 3 305801 1 3 465817 32 3 167314 4 3 441446 4 3 309241 8 3 462352 8 3 452008 14 3 410841 1 3 195328 1 3
output:
0 0 1 1 0 1 0 1 1 0 0 1 1 0 0 1 0 0 1 0
result:
ok 20 lines
Test #13:
score: 0
Accepted
time: 2627ms
memory: 126636kb
input:
208927 82695 10 480469 112188 10 159347 123242 10 209065 63110 10 251159 45081 10 426688 45862 10 27958 18684 10 332091 4883 10 123690 1286 10 287322 575 10 135302 1671 10 308539 450 10 296918 53 10 448480 207 10 334244 2 10 122933 1 10 373597 2 10 329552 2 10 371316 1 10 219194 3 10 117509 1 10 147...
output:
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
result:
ok 22 lines
Test #14:
score: 0
Accepted
time: 2524ms
memory: 136304kb
input:
21139 219315 5000 486799 146895 5000 11917 27333 5000 437401 104559 5000 336669 954 5000 7873 572 5000 414204 150 5000 436939 105 5000 188387 52 5000 445845 15 5000 316389 32 5000 289763 12 5000 189983 4 5000 414712 1 5000 243662 1 5000
output:
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
result:
ok 15 lines
Test #15:
score: 0
Accepted
time: 2454ms
memory: 154136kb
input:
176736 412451 1
output:
2474701
result:
ok single line: '2474701'
Test #16:
score: 0
Accepted
time: 1581ms
memory: 161952kb
input:
2 500000 2
output:
14276189
result:
ok single line: '14276189'
Test #17:
score: 0
Accepted
time: 1556ms
memory: 162440kb
input:
2 499999 3
output:
0
result:
ok single line: '0'
Test #18:
score: 0
Accepted
time: 1608ms
memory: 162676kb
input:
3 500000 2
output:
124
result:
ok single line: '124'
Test #19:
score: 0
Accepted
time: 1646ms
memory: 162616kb
input:
3 499999 3
output:
15279
result:
ok single line: '15279'
Test #20:
score: 0
Accepted
time: 1463ms
memory: 161984kb
input:
4 500000 2
output:
2538
result:
ok single line: '2538'
Test #21:
score: 0
Accepted
time: 1462ms
memory: 161988kb
input:
4 499999 3
output:
0
result:
ok single line: '0'
Test #22:
score: 0
Accepted
time: 3136ms
memory: 162400kb
input:
500000 499999 2
output:
3
result:
ok single line: '3'
Test #23:
score: 0
Accepted
time: 3109ms
memory: 162480kb
input:
500000 499999 3
output:
0
result:
ok single line: '0'