QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#203576#2476. Pizzo CollectorsBoulevardDustWA 1ms6036kbC++202.6kb2023-10-06 18:19:472023-10-06 18:19:47

Judging History

你现在查看的是最新测评结果

  • [2023-10-06 18:19:47]
  • 评测
  • 测评结果:WA
  • 用时:1ms
  • 内存:6036kb
  • [2023-10-06 18:19:47]
  • 提交

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'