QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#507199 | #6346. Record Parity | ucup-team052# | AC ✓ | 64ms | 7164kb | C++23 | 1.0kb | 2024-08-06 13:22:58 | 2024-08-06 13:22:58 |
Judging History
answer
#include<bits/stdc++.h>
#define rep(i,a,b) for(int i=(a);i<=(b);++i)
#define per(i,a,b) for(int i=(a);i>=(b);--i)
using namespace std;
using LL=long long;
const int P=998244353;
mt19937_64 rng(0);
int ad(int x,int y){return x+y<P?x+y:x+y-P;}
int su(int x,int y){return x-y<0?x-y+P:x-y;}
int mu(int x,int y){return 1ULL*x*y%P;}
int po(int a,int b){
int ret=1;
while(b){
if(b&1)ret=mu(ret,a);
b>>=1;
a=mu(a,a);
}
return ret;
}
int main(){
#ifdef xay5421
freopen("a.in","r",stdin);
#endif
int n, k;
scanf("%d%d", &n, &k);
vector <int> a(n);
for (int i = 0; i < n; i++) scanf("%d", &a[i]);
int mn = 1e9, cnt = 0;
for (int i = n - 1; i >= 0; i--) {
if (a[i] < mn) ++cnt, mn = a[i];
}
int ans = 0;
auto fac = [&](int n) {
int ret = 1;
for (int i = 1; i <= n; i++) ret = mu(ret, i);
return ret;
};
if (cnt >= k) {
ans = fac(cnt);
ans = mu(ans, po(fac(k), P - 2));
ans = mu(ans, po(fac(cnt - k), P - 2));
}
if (k & 1) ans = su(0, ans);
printf("%d\n", ans);
return 0;
}
詳細信息
Test #1:
score: 100
Accepted
time: 0ms
memory: 4020kb
input:
5 2 4 1 2 5 3
output:
3
result:
ok 1 number(s): "3"
Test #2:
score: 0
Accepted
time: 0ms
memory: 3864kb
input:
7 3 1 2 3 4 5 6 7
output:
998244318
result:
ok 1 number(s): "998244318"
Test #3:
score: 0
Accepted
time: 0ms
memory: 3776kb
input:
5 5 2 5 4 1 3
output:
0
result:
ok 1 number(s): "0"
Test #4:
score: 0
Accepted
time: 0ms
memory: 4060kb
input:
10 3 9 7 3 6 10 4 8 2 5 1
output:
0
result:
ok 1 number(s): "0"
Test #5:
score: 0
Accepted
time: 0ms
memory: 3792kb
input:
100 76 40 30 48 76 60 22 52 75 31 23 63 86 94 3 45 93 73 37 88 96 77 67 84 85 97 79 25 69 49 47 51 91 58 28 41 53 78 5 46 65 42 56 26 50 64 61 83 29 71 59 9 66 39 32 44 6 8 55 2 54 35 38 72 33 43 99 16 12 62 80 89 98 90 74 87 100 57 11 15 24 7 68 21 27 36 10 92 82 14 95 13 81 20 1 19 17 34 70 18 4
output:
0
result:
ok 1 number(s): "0"
Test #6:
score: 0
Accepted
time: 52ms
memory: 7164kb
input:
999999 39332 451414 609108 131036 847161 253700 55582 818258 222276 337577 950477 824707 809617 551654 567203 661380 421234 351861 954465 73542 956874 530136 870993 631237 988010 133954 853588 558656 321266 299916 335021 347302 275968 582468 281193 693266 634308 744833 497969 394896 778896 710277 42...
output:
0
result:
ok 1 number(s): "0"
Test #7:
score: 0
Accepted
time: 55ms
memory: 7008kb
input:
1000000 46282 375837 94088 104451 696764 777873 787329 97811 343419 440438 65609 4790 470282 363111 811237 253643 28392 882823 98152 156690 823537 77896 380936 675851 402343 705542 543953 781400 8146 338069 98261 262758 527678 637070 226497 825938 85884 654134 676334 743404 799028 584462 219375 2467...
output:
0
result:
ok 1 number(s): "0"
Test #8:
score: 0
Accepted
time: 0ms
memory: 3768kb
input:
10 3 1 3 2 4 6 8 5 9 10 7
output:
998244343
result:
ok 1 number(s): "998244343"
Test #9:
score: 0
Accepted
time: 0ms
memory: 3764kb
input:
10 6 1 2 3 4 5 6 7 8 9 10
output:
210
result:
ok 1 number(s): "210"
Test #10:
score: 0
Accepted
time: 0ms
memory: 3796kb
input:
100 4 1 2 3 6 5 7 4 8 10 12 9 14 11 15 16 13 18 17 19 20 21 23 22 26 25 24 28 27 29 36 30 32 34 33 31 37 35 39 38 41 40 42 44 43 48 46 51 49 45 47 54 50 52 53 57 56 55 58 60 62 59 63 66 61 65 67 69 71 70 72 64 68 75 73 78 74 76 77 80 79 81 82 87 83 86 90 84 88 93 92 96 85 95 94 89 91 98 97 100 99
output:
194580
result:
ok 1 number(s): "194580"
Test #11:
score: 0
Accepted
time: 0ms
memory: 4052kb
input:
100 34 1 3 2 4 5 6 7 8 9 10 11 13 12 14 15 16 17 18 19 20 21 22 23 28 24 25 26 27 29 30 34 35 31 32 33 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 54 51 52 53 55 56 57 58 59 60 61 62 63 64 65 66 67 68 70 69 71 72 74 73 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 92 90 91 93 94 95 96 97 98 99 100
output:
504643915
result:
ok 1 number(s): "504643915"
Test #12:
score: 0
Accepted
time: 0ms
memory: 3860kb
input:
100 47 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100
output:
985292991
result:
ok 1 number(s): "985292991"
Test #13:
score: 0
Accepted
time: 55ms
memory: 7060kb
input:
999999 473578 2 3 1 4 5 10 7 8 6 12 9 13 14 11 15 17 16 18 26 20 19 22 21 25 27 23 24 28 29 30 31 32 34 33 35 36 37 38 41 39 40 42 43 44 49 50 45 46 48 52 47 54 53 57 51 56 62 55 58 59 65 61 63 66 60 67 69 70 64 68 71 72 73 74 75 76 78 77 80 83 79 84 82 81 86 87 89 88 90 91 92 94 85 97 93 96 95 99 9...
output:
359227269
result:
ok 1 number(s): "359227269"
Test #14:
score: 0
Accepted
time: 63ms
memory: 7048kb
input:
1000000 38922 1 2 4 8 3 5 6 7 9 10 12 13 11 15 21 14 18 16 17 19 20 22 24 23 25 26 27 28 29 30 32 31 36 33 37 34 35 38 39 40 41 45 42 43 46 44 47 48 50 49 51 52 54 55 56 53 57 58 61 60 62 59 63 68 64 65 66 67 69 70 71 75 72 73 76 74 77 78 85 79 80 82 81 83 87 91 84 86 88 89 90 92 94 93 95 96 97 98 9...
output:
488465165
result:
ok 1 number(s): "488465165"
Test #15:
score: 0
Accepted
time: 63ms
memory: 7060kb
input:
999999 236523 1 2 3 4 5 6 7 9 8 10 11 13 12 22 14 17 15 16 18 19 20 21 23 24 25 26 27 28 29 30 32 31 33 34 35 36 38 37 40 39 41 42 44 43 45 46 47 48 49 50 53 51 52 54 56 55 58 57 60 59 61 62 63 64 65 66 70 67 72 68 71 69 73 74 75 76 77 78 79 80 82 81 83 84 85 86 87 88 89 90 92 91 93 94 97 96 95 98 9...
output:
692390722
result:
ok 1 number(s): "692390722"
Test #16:
score: 0
Accepted
time: 55ms
memory: 7072kb
input:
1000000 124882 1 2 3 4 5 6 7 8 10 9 11 12 13 16 14 15 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 59 57 58 60 61 62 64 66 65 63 67 74 68 69 70 71 73 72 75 76 77 78 79 80 81 82 85 83 84 86 87 88 89 90 91 92 93 94 95 96 97 98 ...
output:
599973664
result:
ok 1 number(s): "599973664"
Test #17:
score: 0
Accepted
time: 59ms
memory: 7048kb
input:
999999 683302 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 64 61 62 63 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 9...
output:
529810450
result:
ok 1 number(s): "529810450"
Test #18:
score: 0
Accepted
time: 59ms
memory: 6972kb
input:
1000000 163041 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 ...
output:
914064641
result:
ok 1 number(s): "914064641"
Test #19:
score: 0
Accepted
time: 55ms
memory: 6992kb
input:
1000000 874861 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 ...
output:
29395860
result:
ok 1 number(s): "29395860"
Test #20:
score: 0
Accepted
time: 0ms
memory: 3788kb
input:
10 2 7 8 9 2 6 4 1 3 5 10
output:
6
result:
ok 1 number(s): "6"
Test #21:
score: 0
Accepted
time: 0ms
memory: 3788kb
input:
100 3 20 68 89 47 56 26 88 36 34 62 57 35 79 80 96 21 59 30 5 90 1 60 22 33 69 92 61 25 67 49 75 55 38 99 95 91 4 46 64 70 53 8 15 51 29 3 11 76 44 74 83 14 28 81 87 77 52 23 19 43 6 27 58 72 42 37 85 63 78 65 2 100 54 7 24 66 31 12 73 17 45 93 50 9 41 10 86 32 18 97 94 71 84 16 40 98 39 48 82 13
output:
998244333
result:
ok 1 number(s): "998244333"
Test #22:
score: 0
Accepted
time: 51ms
memory: 7044kb
input:
987654 8 531977 352626 654513 220384 572395 187905 314274 312528 269385 193606 33313 300186 923415 553687 183994 859834 27642 158303 873665 695081 658080 25847 357716 879800 30378 383576 253238 571517 508829 459854 42175 710431 447943 243470 354034 111535 208374 957435 768711 434154 397206 675791 75...
output:
1287
result:
ok 1 number(s): "1287"
Test #23:
score: 0
Accepted
time: 8ms
memory: 4056kb
input:
131313 5 69743 112849 66819 40083 45413 33923 28521 87984 123683 25653 5800 98415 20455 6967 59279 83488 59242 25646 87739 120760 89330 39908 70260 590 92651 84115 51883 114788 91285 78196 71378 68769 24832 95433 736 110958 80384 11719 99343 68990 15539 28246 104980 48308 11444 5220 63003 31510 8686...
output:
998243066
result:
ok 1 number(s): "998243066"
Test #24:
score: 0
Accepted
time: 53ms
memory: 7088kb
input:
1000000 12 733033 261225 837619 515480 67159 555978 643494 628178 293039 251982 401756 339638 706990 465950 828198 564234 457241 179097 657765 186638 435622 428430 737582 276720 703311 5868 371375 932126 385931 156018 998119 875564 376837 610996 919184 435182 911751 142900 265070 341887 87415 308112...
output:
13
result:
ok 1 number(s): "13"
Test #25:
score: 0
Accepted
time: 56ms
memory: 6992kb
input:
999999 7 56715 990118 548867 374166 809235 906424 624292 656987 359106 170806 57658 464410 23879 324865 97154 69501 339783 892396 955325 218628 771434 271492 545783 832060 859034 330940 212590 34068 418221 693841 932527 587948 314031 459895 344381 459652 104651 322539 501288 760642 836907 66591 6166...
output:
998240921
result:
ok 1 number(s): "998240921"
Test #26:
score: 0
Accepted
time: 28ms
memory: 5752kb
input:
641715 11 525965 7051 117943 373305 227827 357991 19356 476824 527225 459863 455562 460380 256609 94236 84600 1656 25453 221508 403310 558049 303758 593331 462668 298809 512562 288257 507352 608542 410122 146505 152460 133291 126322 476655 15375 273977 358219 316856 424299 201861 206005 393601 61657...
output:
998231977
result:
ok 1 number(s): "998231977"
Test #27:
score: 0
Accepted
time: 60ms
memory: 7152kb
input:
949929 449383 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 20 17 18 19 21 22 24 23 25 26 27 28 29 30 31 32 33 34 38 35 36 37 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 64 63 65 66 67 68 69 70 71 72 75 73 74 76 77 78 79 80 81 82 83 84 85 86 87 90 88 89 91 92 93 94 95 97 96 98 9...
output:
254718399
result:
ok 1 number(s): "254718399"
Test #28:
score: 0
Accepted
time: 62ms
memory: 6996kb
input:
1000000 40642 1 2 3 6 4 7 5 8 9 10 11 12 13 14 15 16 20 17 19 18 21 22 24 23 29 25 26 33 27 28 30 34 31 37 36 32 38 35 39 41 40 42 43 44 45 46 47 49 48 50 51 53 52 56 54 55 57 58 60 62 59 61 63 67 64 65 68 66 72 69 70 71 73 75 74 77 76 78 79 80 81 82 83 84 87 85 86 90 89 88 91 92 93 95 96 94 97 98 9...
output:
696108140
result:
ok 1 number(s): "696108140"
Test #29:
score: 0
Accepted
time: 54ms
memory: 7032kb
input:
990997 738918 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 9...
output:
457274065
result:
ok 1 number(s): "457274065"
Test #30:
score: 0
Accepted
time: 64ms
memory: 7036kb
input:
1000000 688785 1 2 3 4 5 6 7 8 9 10 11 13 12 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 80 77 78 79 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 ...
output:
769974219
result:
ok 1 number(s): "769974219"
Test #31:
score: 0
Accepted
time: 56ms
memory: 6780kb
input:
899579 814276 1 2 3 4 5 6 7 9 8 10 11 12 13 14 15 16 17 18 19 21 20 23 22 24 25 26 27 28 29 31 30 36 32 34 35 33 37 38 39 40 41 42 43 44 45 47 46 48 49 50 51 54 52 53 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 78 77 79 80 81 82 83 84 85 86 87 88 89 90 95 91 92 93 94 96 97 98 9...
output:
991504889
result:
ok 1 number(s): "991504889"
Test #32:
score: 0
Accepted
time: 62ms
memory: 7112kb
input:
1000000 918041 1 2 3 4 6 5 9 7 8 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 33 31 32 34 35 36 37 38 39 40 41 42 45 43 44 46 47 48 49 50 51 57 52 53 54 55 56 58 59 60 61 62 63 64 65 67 66 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 ...
output:
445921632
result:
ok 1 number(s): "445921632"
Test #33:
score: 0
Accepted
time: 62ms
memory: 6948kb
input:
1000000 285900 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 ...
output:
471896526
result:
ok 1 number(s): "471896526"