QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#203576 | #2476. Pizzo Collectors | BoulevardDust | WA | 1ms | 6036kb | C++20 | 2.6kb | 2023-10-06 18:19:47 | 2023-10-06 18:19:47 |
Judging History
answer
#include <iostream>
#include <cstdio>
#define mn 100005
#define ll long long
using namespace std;
int n, m, p, k, a[mn], v[30];
char s[mn];
int c[mn], cnt[mn], ban[mn];
ll ans, res[mn];
int main() {
scanf("%d", &n);
scanf("%s", s + 1);
for(int i = 1; i <= n; ++i) {
if(s[i] == '?') a[i] = 0;
else a[i] = s[i] - 'A' + 1;
}
scanf("%d\n", &m);
for(int i = 1; i <= m; ++i) {
char c; int x;
scanf("%c %d\n", &c, &x);
v[c - 'A' + 1] = x;
}
for(p = 2; p <= n; ++p) {
if(!(n % p)) break;
}
int x = n;
k = 0;
while(!(x % p)) ++k, x /= p;
int m = 1;
for(int i = 2; i <= 26; ++i) {
if(v[i] > v[m]) m = i;
}
for(int i = 1; i <= n; ++i) {
if(!a[i]) {
c[i] = m, res[i] = v[m], cnt[i] = 1;
}
else {
c[i] = a[i], res[i] = v[a[i]], cnt[i] = 0;
}
// printf("%d %lld\n", i, res[i]);
}
// i < (k?)
for(int i = 1, u = n / p, s = 1; i <= k; ++i, u /= p, s *= p) {
int uu = u * p;
// printf("%d %d %d\n", i, u, s);
for(int j = 1; j <= u; ++j) {
int same = 1, ssame = 1, cto = 0, cntsum = 0, hban = 0;
ll ressum = 0;
// for(int o = 1; o <= n; ++o) {
// printf("%d ", ban[o]);
// }
// puts("o");
for(int l = j; l <= uu; l += u) {
if(cnt[l] < s) {
cto = c[l];
}
if(ban[l]) hban = 1;
// printf("l%d \n", l);
}
if(hban) {
for(int l = j; l <= uu; l += u) {
if(!ban[l]) {
ban[l] = 1;
ans += 1ll * v[c[l]] * s * i;
}
}
// printf("aaa%lld\n", ans);
continue;
}
for(int l = j; l <= uu; l += u) {
if(cnt[l] < s && c[l] != cto) {
same = 0;
}
if(c[l] != c[j]) {
ssame = 0;
}
cntsum += cnt[l], ressum += res[l];
}
// printf("%d %lld\n", cntsum, ressum);
if(same) {
// printf("p%lld %lld\n", 1ll * v[cto] * s * p * (i + 1) , ressum);
if(1ll * v[cto] * s * p * (i + 1) > ressum) {
c[j] = cto;
res[j] = 1ll * v[cto] * s * p * (i + 1);
// printf("j%d %lld\n", j, res[j]);
cnt[j] = cntsum;
}
else {
if(ssame) {
res[j] = 1ll * v[c[j]] * s * p * (i + 1);
cnt[j] = cntsum;
}
else {
for(int l = j; l <= uu; l += u) {
ban[l] = 1;
ans += 1ll * v[c[l]] * s * i;
}
}
// res[j] = ressum;
}
}
else {
for(int l = j; l <= uu; l += u) {
ban[l] = 1;
ans += 1ll * v[c[l]] * s * i;
}
// ans += ressum;
}
// for(int o = 1; o <= n; ++o) printf("%lld ", res[o]);
// printf("ans%lld\n", ans);
// puts("");
}
}
if(!ban[1]) ans = 1ll * v[c[1]] * n * (k + 1);
printf("%lld", ans);
return 0;
}
详细
Test #1:
score: 100
Accepted
time: 1ms
memory: 5788kb
input:
8 ?A?B?A?C 3 A 1 B 1000 C 100000
output:
1301004
result:
ok single line: '1301004'
Test #2:
score: 0
Accepted
time: 0ms
memory: 3944kb
input:
4 ABCD 4 A 4 B 3 C 2 D 1
output:
10
result:
ok single line: '10'
Test #3:
score: 0
Accepted
time: 0ms
memory: 4000kb
input:
2 AB 2 A 1 B 2
output:
3
result:
ok single line: '3'
Test #4:
score: 0
Accepted
time: 1ms
memory: 5980kb
input:
7 ??????? 3 A 1 B 3 C 2
output:
42
result:
ok single line: '42'
Test #5:
score: 0
Accepted
time: 0ms
memory: 3748kb
input:
1 ? 26 A 1 B 2 C 3 D 4 E 5 F 6 G 7 H 8 I 9 J 10 K 11 L 12 M 13 N 14 O 15 P 16 Q 17 R 18 S 19 T 20 U 21 V 22 W 23 X 24 Y 25 Z 26
output:
26
result:
ok single line: '26'
Test #6:
score: 0
Accepted
time: 1ms
memory: 6024kb
input:
4 A?A? 2 A 10 B 25
output:
140
result:
ok single line: '140'
Test #7:
score: 0
Accepted
time: 0ms
memory: 3956kb
input:
1 ? 26 A 925691 B 784415 C 459872 D 532761 E 723841 F 43610 G 550337 H 362598 I 433441 J 830094 K 706780 L 870926 M 169396 N 614810 O 151788 P 802159 Q 74805 R 357984 S 654014 T 738826 U 367213 V 361083 W 22154 X 662187 Y 120341 Z 932546
output:
932546
result:
ok single line: '932546'
Test #8:
score: 0
Accepted
time: 0ms
memory: 3952kb
input:
8 AB??BBBC 3 A 226880 B 21007 C 187937
output:
1331550
result:
ok single line: '1331550'
Test #9:
score: 0
Accepted
time: 0ms
memory: 4000kb
input:
4 ??AA 2 A 586426 B 609540
output:
7037112
result:
ok single line: '7037112'
Test #10:
score: 0
Accepted
time: 0ms
memory: 3756kb
input:
2 ?? 3 A 28745 B 469414 C 889999
output:
3559996
result:
ok single line: '3559996'
Test #11:
score: 0
Accepted
time: 0ms
memory: 3940kb
input:
9 D?CDADDBA 4 A 891831 B 540383 C 787792 D 316322
output:
6217922
result:
ok single line: '6217922'
Test #12:
score: 0
Accepted
time: 0ms
memory: 4000kb
input:
3 ?BA 4 A 591794 B 849991 C 835076 D 706991
output:
2291776
result:
ok single line: '2291776'
Test #13:
score: 0
Accepted
time: 1ms
memory: 5968kb
input:
5 ?DDDC 4 A 277536 B 300259 C 268269 D 674295
output:
2965449
result:
ok single line: '2965449'
Test #14:
score: 0
Accepted
time: 0ms
memory: 3948kb
input:
8 ??A??B?A 3 A 892657 B 344729 C 759614
output:
15661428
result:
ok single line: '15661428'
Test #15:
score: 0
Accepted
time: 1ms
memory: 5768kb
input:
4 ??BB 2 A 427975 B 505086
output:
6061032
result:
ok single line: '6061032'
Test #16:
score: 0
Accepted
time: 1ms
memory: 5980kb
input:
2 ?B 3 A 553982 B 971440 C 799654
output:
3885760
result:
ok single line: '3885760'
Test #17:
score: 0
Accepted
time: 0ms
memory: 3912kb
input:
9 ?BD???CCD 4 A 272237 B 751801 C 889541 D 404645
output:
10295999
result:
ok single line: '10295999'
Test #18:
score: 0
Accepted
time: 0ms
memory: 3756kb
input:
3 ??B 4 A 357775 B 790006 C 254911 D 970091
output:
4740036
result:
ok single line: '4740036'
Test #19:
score: 0
Accepted
time: 0ms
memory: 4000kb
input:
5 ????A 4 A 767484 B 111739 C 494875 D 677653
output:
7674840
result:
ok single line: '7674840'
Test #20:
score: 0
Accepted
time: 0ms
memory: 3996kb
input:
8 ??A??ACB 3 A 325590 B 246789 C 560277
output:
5416491
result:
ok single line: '5416491'
Test #21:
score: 0
Accepted
time: 0ms
memory: 4004kb
input:
4 BABB 2 A 792459 B 534070
output:
3462809
result:
ok single line: '3462809'
Test #22:
score: 0
Accepted
time: 0ms
memory: 3920kb
input:
2 AB 3 A 656307 B 697344 C 427355
output:
1353651
result:
ok single line: '1353651'
Test #23:
score: 0
Accepted
time: 0ms
memory: 4000kb
input:
9 ??B?ADD?B 4 A 580920 B 721154 C 858354 D 876934
output:
11066366
result:
ok single line: '11066366'
Test #24:
score: 0
Accepted
time: 0ms
memory: 4000kb
input:
3 ?A? 4 A 439292 B 314685 C 246183 D 664655
output:
2635752
result:
ok single line: '2635752'
Test #25:
score: 0
Accepted
time: 0ms
memory: 3748kb
input:
5 ???CA 4 A 620647 B 559270 C 553595 D 982214
output:
4120884
result:
ok single line: '4120884'
Test #26:
score: 0
Accepted
time: 0ms
memory: 3876kb
input:
8 ?BAB??CC 3 A 138930 B 783078 C 166183
output:
7518998
result:
ok single line: '7518998'
Test #27:
score: 0
Accepted
time: 0ms
memory: 4000kb
input:
4 B??B 2 A 584378 B 333337
output:
4000044
result:
ok single line: '4000044'
Test #28:
score: 0
Accepted
time: 0ms
memory: 3936kb
input:
2 ?? 3 A 886046 B 415294 C 619440
output:
3544184
result:
ok single line: '3544184'
Test #29:
score: 0
Accepted
time: 0ms
memory: 4008kb
input:
9 D?D??CDA? 4 A 34222 B 257404 C 770908 D 891690
output:
9722030
result:
ok single line: '9722030'
Test #30:
score: 0
Accepted
time: 0ms
memory: 4000kb
input:
3 ?DD 4 A 814949 B 503525 C 977750 D 568577
output:
3411462
result:
ok single line: '3411462'
Test #31:
score: 0
Accepted
time: 0ms
memory: 3956kb
input:
5 ?DC?? 4 A 449231 B 510080 C 954355 D 360422
output:
4177842
result:
ok single line: '4177842'
Test #32:
score: 0
Accepted
time: 0ms
memory: 3756kb
input:
8 ???AAA?B 3 A 703510 B 534990 C 623491
output:
12494660
result:
ok single line: '12494660'
Test #33:
score: 0
Accepted
time: 0ms
memory: 3896kb
input:
4 ABAB 2 A 544494 B 385314
output:
3719232
result:
ok single line: '3719232'
Test #34:
score: 0
Accepted
time: 0ms
memory: 3940kb
input:
2 AA 3 A 441230 B 43946 C 171518
output:
1764920
result:
ok single line: '1764920'
Test #35:
score: 0
Accepted
time: 0ms
memory: 3932kb
input:
9 BC?C???CC 4 A 821508 B 146142 C 821764 D 293917
output:
11650838
result:
ok single line: '11650838'
Test #36:
score: 0
Accepted
time: 0ms
memory: 3872kb
input:
3 DC? 4 A 322498 B 599277 C 916029 D 410514
output:
2242572
result:
ok single line: '2242572'
Test #37:
score: 0
Accepted
time: 0ms
memory: 3960kb
input:
5 ?DBBA 4 A 378999 B 968610 C 603823 D 534583
output:
3819412
result:
ok single line: '3819412'
Test #38:
score: 0
Accepted
time: 0ms
memory: 3800kb
input:
8 ?B??ACC? 3 A 480537 B 890720 C 435654
output:
8554018
result:
ok single line: '8554018'
Test #39:
score: 0
Accepted
time: 0ms
memory: 3932kb
input:
4 A??B 2 A 727408 B 589715
output:
5268492
result:
ok single line: '5268492'
Test #40:
score: 0
Accepted
time: 1ms
memory: 5908kb
input:
2 BC 3 A 73285 B 863162 C 264923
output:
1128085
result:
ok single line: '1128085'
Test #41:
score: 0
Accepted
time: 0ms
memory: 3748kb
input:
9 ??D?CDB?A 4 A 97396 B 962490 C 454116 D 236760
output:
9070552
result:
ok single line: '9070552'
Test #42:
score: 0
Accepted
time: 0ms
memory: 3992kb
input:
3 ?D? 4 A 500155 B 811939 C 888931 D 587952
output:
3527712
result:
ok single line: '3527712'
Test #43:
score: 0
Accepted
time: 0ms
memory: 3956kb
input:
5 ?AB?A 4 A 705726 B 387507 C 435398 D 224214
output:
3210411
result:
ok single line: '3210411'
Test #44:
score: 0
Accepted
time: 0ms
memory: 3808kb
input:
8 ?CABBA?A 3 A 926717 B 887112 C 291376
output:
10287238
result:
ok single line: '10287238'
Test #45:
score: 0
Accepted
time: 1ms
memory: 6036kb
input:
4 ???A 2 A 969312 B 936948
output:
11631744
result:
ok single line: '11631744'
Test #46:
score: 0
Accepted
time: 0ms
memory: 3940kb
input:
2 ?A 3 A 568234 B 830302 C 159708
output:
2272936
result:
ok single line: '2272936'
Test #47:
score: 0
Accepted
time: 0ms
memory: 3992kb
input:
9 ?C?D?B?B? 4 A 771297 B 901768 C 917543 D 151374
output:
10133922
result:
ok single line: '10133922'
Test #48:
score: 0
Accepted
time: 0ms
memory: 5984kb
input:
3 C?? 4 A 688975 B 241727 C 818932 D 91536
output:
4913592
result:
ok single line: '4913592'
Test #49:
score: 0
Accepted
time: 0ms
memory: 3960kb
input:
5 AD?CD 4 A 543418 B 284525 C 850331 D 740165
output:
3724410
result:
ok single line: '3724410'
Test #50:
score: 0
Accepted
time: 1ms
memory: 6024kb
input:
8 A?B????A 3 A 954458 B 684238 C 796348
output:
18008280
result:
ok single line: '18008280'
Test #51:
score: 0
Accepted
time: 0ms
memory: 3944kb
input:
4 ?B?? 2 A 581901 B 215410
output:
3189244
result:
ok single line: '3189244'
Test #52:
score: 0
Accepted
time: 0ms
memory: 3756kb
input:
2 ?B 3 A 959740 B 72429 C 623651
output:
1032169
result:
ok single line: '1032169'
Test #53:
score: 0
Accepted
time: 0ms
memory: 5960kb
input:
9 A?DDABAAC 4 A 397407 B 640932 C 592671 D 217463
output:
4847785
result:
ok single line: '4847785'
Test #54:
score: 0
Accepted
time: 0ms
memory: 4004kb
input:
3 ??D 4 A 376063 B 568599 C 914893 D 321187
output:
2150973
result:
ok single line: '2150973'
Test #55:
score: 0
Accepted
time: 1ms
memory: 5788kb
input:
5 ??ADC 4 A 688276 B 410703 C 809171 D 184066
output:
3299855
result:
ok single line: '3299855'
Test #56:
score: 0
Accepted
time: 0ms
memory: 3960kb
input:
8 A?CCBAA? 3 A 21623 B 247434 C 127506
output:
1197267
result:
ok single line: '1197267'
Test #57:
score: 0
Accepted
time: 0ms
memory: 4000kb
input:
4 B?A? 2 A 806419 B 585499
output:
4617594
result:
ok single line: '4617594'
Test #58:
score: 0
Accepted
time: 0ms
memory: 3936kb
input:
2 ?C 3 A 919848 B 927494 C 487705
output:
1950820
result:
ok single line: '1950820'
Test #59:
score: 0
Accepted
time: 0ms
memory: 3956kb
input:
9 ?DB?AADC? 4 A 423449 B 362240 C 881654 D 747001
output:
8201453
result:
ok single line: '8201453'
Test #60:
score: 0
Accepted
time: 1ms
memory: 5988kb
input:
3 BCB 4 A 382899 B 573494 C 708454 D 843677
output:
1855442
result:
ok single line: '1855442'
Test #61:
score: 0
Accepted
time: 0ms
memory: 3996kb
input:
5 ?B??? 4 A 44235 B 882584 C 449481 D 869802
output:
8825840
result:
ok single line: '8825840'
Test #62:
score: 0
Accepted
time: 0ms
memory: 3756kb
input:
8 ??C??C?? 3 A 837095 B 557123 C 969486
output:
31023552
result:
ok single line: '31023552'
Test #63:
score: 0
Accepted
time: 1ms
memory: 5984kb
input:
4 ?B?B 2 A 3222 B 125590
output:
1507080
result:
ok single line: '1507080'
Test #64:
score: 0
Accepted
time: 0ms
memory: 3892kb
input:
2 A? 3 A 958375 B 119559 C 696704
output:
3833500
result:
ok single line: '3833500'
Test #65:
score: 0
Accepted
time: 1ms
memory: 5960kb
input:
9 ??CAD?C?? 4 A 681566 B 192620 C 761507 D 860988
output:
12039031
result:
ok single line: '12039031'
Test #66:
score: 0
Accepted
time: 0ms
memory: 3948kb
input:
3 B?? 4 A 712112 B 202696 C 645344 D 88110
output:
1626920
result:
ok single line: '1626920'
Test #67:
score: 0
Accepted
time: 0ms
memory: 4000kb
input:
5 BC?AC 4 A 344591 B 900818 C 44285 D 867644
output:
2234797
result:
ok single line: '2234797'
Test #68:
score: 0
Accepted
time: 1ms
memory: 5984kb
input:
8 A?A?B?A? 3 A 741498 B 816894 C 209420
output:
14327112
result:
ok single line: '14327112'
Test #69:
score: 0
Accepted
time: 0ms
memory: 5960kb
input:
4 ?BAB 2 A 96615 B 49978
output:
586372
result:
ok single line: '586372'
Test #70:
score: 0
Accepted
time: 0ms
memory: 5972kb
input:
2 B? 3 A 87654 B 674557 C 679799
output:
2698228
result:
ok single line: '2698228'
Test #71:
score: 0
Accepted
time: 0ms
memory: 3892kb
input:
9 ADDDC?C?A 4 A 810389 B 122952 C 845789 D 631182
output:
6897480
result:
ok single line: '6897480'
Test #72:
score: 0
Accepted
time: 0ms
memory: 3896kb
input:
3 ?DC 4 A 452330 B 336396 C 38700 D 580305
output:
1199310
result:
ok single line: '1199310'
Test #73:
score: 0
Accepted
time: 1ms
memory: 6032kb
input:
5 D?CB? 4 A 453200 B 189645 C 321087 D 191070
output:
1608202
result:
ok single line: '1608202'
Test #74:
score: -100
Wrong Answer
time: 0ms
memory: 5496kb
input:
65536 ???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????B??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????...
output:
408619637487
result:
wrong answer 1st lines differ - expected: '408817261167', found: '408619637487'