QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#490678#8776. Not Another Constructive!FffooooAC ✓8ms15332kbC++143.8kb2024-07-25 16:05:032024-07-25 16:05:05

Judging History

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

  • [2024-07-25 16:05:05]
  • 评测
  • 测评结果:AC
  • 用时:8ms
  • 内存:15332kb
  • [2024-07-25 16:05:03]
  • 提交

answer

#include<bits/stdc++.h>
using namespace std;
int mian(); int main() { return mian(); }

const int N = 41, K = 2525;
int n, k;
char ch[N];
bitset<K> dp[N][N][N];

char ci[] = {'B','D','E','F','G','H','I','J','K','L','M','O','P','Q','R','S','T','U','V','W','X','Y','Z'};

void out(const int i, const int cn, const int cc, const int kkl) {
//	cout<<ch[i + 1]<<" "<<i<<" "<<cn<<" "<<cc<<" "<<kkl<<"  "<<dp[i][cn][cc].test(kkl)<<endl;
	if( i == 0 ) { for(int j = 1; j <= n; ++j) putchar(ch[j]); return ; }
	switch( ch[i] ) {
		case 'N' : { out( i - 1, cn - 1, cc, kkl ); break; }
		case 'C' : { out( i - 1, cn, cc + 1, kkl ); break; }
		case 'A' : { out( i - 1, cn, cc, kkl - cn * cc ); break; }
		case '?' : {
			if( cn and dp[i - 1][cn - 1][cc].test(kkl) ) ch[i] = 'N', out( i - 1, cn - 1, cc, kkl );
			else if( dp[i - 1][cn][cc + 1].test(kkl) ) ch[i] = 'C', out( i - 1, cn, cc + 1, kkl );
			else if( kkl >= cn * cc and dp[i - 1][cn][cc].test( kkl - cn * cc ) ) ch[i] = 'A', out( i - 1, cn, cc, kkl - cn * cc );
			else ch[i] = ci[ rand() % 23 ], out( i - 1, cn, cc, kkl );
			break;
		}
		default : { out( i - 1, cn, cc, kkl ); }
	}
}
 
int mian() {
	srand(time(0));
	scanf("%d%d%s", &n, &k, ch + 1);
	for(int i = 0; i <= n; ++i) dp[0][0][i].set(0);//如果太少了也是一样的不会统计到答案中 
	for(int i = 0; i < n; ++i) {
		for(int cn = 0; cn <= i; ++cn){
			for(int cc = 0; cc + cn <= n; ++cc) {
//				if(i == 10 and cn == 1 and cc == 3 and dp[i][cn][cc].count()) cout<<cn<<" "<<cc<<"   "<<dp[i][cn][cc]<<endl;
//				if(i == 11 and cn == 1 and cc == 2 and dp[i][cn][cc].count()) cout<<cn<<" "<<cc<<"   "<<dp[i][cn][cc]<<endl;
				switch( ch[i + 1] ) {
					case 'N' : { dp[i + 1][cn + 1][cc] |= dp[i][cn][cc]; break; }
					case 'C' : { dp[i + 1][cn][cc - 1] |= dp[i][cn][cc]; break; }
					case 'A' : { dp[i + 1][cn][cc] |= dp[i][cn][cc] << ( cn * cc ); break; }
					case '?' : {
						dp[i + 1][cn + 1][cc] |= dp[i][cn][cc];
						dp[i + 1][cn][cc - 1] |= dp[i][cn][cc];
						dp[i + 1][cn][cc] |= dp[i][cn][cc] << ( cn * cc );
						dp[i + 1][cn][cc] |= dp[i][cn][cc];
						break;
					}
					default : { dp[i + 1][cn][cc] |= dp[i][cn][cc]; }
				}
			}
		}
	}
	for(int cntn = 0; cntn <= n; ++cntn) {
//		cout<<dp[n][cntn][0]<<endl;
		if( dp[n][cntn][0].test(k) ) return out(n, cntn, 0, k), 0;
	}
	puts("-1");
	return 0;
}/*
给出一个大小为 $n$ 的串,要求将其中的 $?$ 替换成任意的大写字母,使得最终的串中 $NAC$ 子序列的个数为 $k$ 
构造方案 
$n\le40, k\le 2500$ 
$1s, 2G$

朴素的 $dp$ 可以设计为 $N,NA,NAC$ 的子序列各有多少个,但这样是 $O(n^3k)$ 的 
考虑状态上的优化,考虑 $NAC$ 三个位置中比较特殊的位置,比如说中间的 $A$ 
那么对于一个 $A$ ,他的贡献就是前面的 $n$ 的数量 $\times$ 后面 $c$ 的数量 
于是设计为 $f(i,n,c,k)$ 表示当前位置上,前面有了 $n$ 个 $N$,后面有了 $c$ 个 $C$,能否得到最终 $k$ 的贡献 
如果这一位是 $N$,那么 $f(i,n,c,k) \to f(i+1,n+1,c,k)$ 
如果这一位是 $C$,那么 $f(i,n,c,k) \to f(i+1,n,c-1,k)$ 
如果这一位是 $A$,那么 $f(i,n,c,k) \to f(i+1,n,c,k+n*c)$ 
如果这一位是 $B$,那么 $f(i,n,c,k) \to f(i+1,n,c,k)$ 
如果这一位是 $?$,那么全转移一遍 
最终答案就是 $f(n,cnt_N,0,k)$,初始化为 $f(0,0,cnt_c,0)=1$ 
构造方案就直接向回找哪一位是 $1$ 即可 (直接记录pre或许会挂,因为空间太大) 
因为每一个 $dp$ 表示的是 $01$,且最后一维 $k$ 只在不断增加 
那么就可以直接将最后一维 $k$ 压在一个 bitset 中 
然后对于 $cnt_c$ 和 $cnt_n$,需要把 $?$ 的情况算上。最后如果存在一个方案一开始规定了 $x$ 个 $c$ 却没有用完,那么一定不在答案之中 
22 2
N??A??????C???????????
NBBABBBBBBCBBBAAAAAAAC 
*/

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 2ms
memory: 6460kb

input:

22 2
N??A??????C???????????

output:

NCCAURDGYQCTIVQUHZQGHC

result:

ok correct

Test #2:

score: 0
Accepted
time: 0ms
memory: 5116kb

input:

18 0
COUNTINGSATELLITES

output:

COUNTINGSATELLITES

result:

ok correct

Test #3:

score: 0
Accepted
time: 0ms
memory: 3696kb

input:

2 1
??

output:

-1

result:

ok correct

Test #4:

score: 0
Accepted
time: 0ms
memory: 3816kb

input:

1 0
?

output:

C

result:

ok correct

Test #5:

score: 0
Accepted
time: 0ms
memory: 3812kb

input:

1 0
N

output:

N

result:

ok correct

Test #6:

score: 0
Accepted
time: 0ms
memory: 3796kb

input:

1 0
X

output:

X

result:

ok correct

Test #7:

score: 0
Accepted
time: 0ms
memory: 3892kb

input:

1 1
?

output:

-1

result:

ok correct

Test #8:

score: 0
Accepted
time: 0ms
memory: 3884kb

input:

1 1
N

output:

-1

result:

ok correct

Test #9:

score: 0
Accepted
time: 0ms
memory: 3760kb

input:

1 1
X

output:

-1

result:

ok correct

Test #10:

score: 0
Accepted
time: 0ms
memory: 3908kb

input:

2 0
??

output:

CC

result:

ok correct

Test #11:

score: 0
Accepted
time: 0ms
memory: 3648kb

input:

2 0
N?

output:

NC

result:

ok correct

Test #12:

score: 0
Accepted
time: 1ms
memory: 3768kb

input:

2 0
?C

output:

CC

result:

ok correct

Test #13:

score: 0
Accepted
time: 0ms
memory: 3908kb

input:

2 1
N?

output:

-1

result:

ok correct

Test #14:

score: 0
Accepted
time: 0ms
memory: 3644kb

input:

2 1
?C

output:

-1

result:

ok correct

Test #15:

score: 0
Accepted
time: 0ms
memory: 3848kb

input:

3 1
???

output:

NAC

result:

ok correct

Test #16:

score: 0
Accepted
time: 0ms
memory: 3928kb

input:

3 1
N??

output:

NAC

result:

ok correct

Test #17:

score: 0
Accepted
time: 0ms
memory: 3792kb

input:

3 1
?A?

output:

NAC

result:

ok correct

Test #18:

score: 0
Accepted
time: 0ms
memory: 3920kb

input:

3 1
??C

output:

NAC

result:

ok correct

Test #19:

score: 0
Accepted
time: 0ms
memory: 3660kb

input:

3 1
NA?

output:

NAC

result:

ok correct

Test #20:

score: 0
Accepted
time: 0ms
memory: 3916kb

input:

3 1
N?C

output:

NAC

result:

ok correct

Test #21:

score: 0
Accepted
time: 0ms
memory: 3664kb

input:

3 1
?AC

output:

NAC

result:

ok correct

Test #22:

score: 0
Accepted
time: 0ms
memory: 3960kb

input:

4 1
????

output:

CNAC

result:

ok correct

Test #23:

score: 0
Accepted
time: 0ms
memory: 3924kb

input:

4 1
X???

output:

XNAC

result:

ok correct

Test #24:

score: 0
Accepted
time: 0ms
memory: 3948kb

input:

4 1
???Z

output:

NACZ

result:

ok correct

Test #25:

score: 0
Accepted
time: 0ms
memory: 3796kb

input:

4 1
?AA?

output:

-1

result:

ok correct

Test #26:

score: 0
Accepted
time: 0ms
memory: 3820kb

input:

4 1
N???

output:

NCAC

result:

ok correct

Test #27:

score: 0
Accepted
time: 0ms
memory: 3952kb

input:

4 1
?N??

output:

CNAC

result:

ok correct

Test #28:

score: 0
Accepted
time: 0ms
memory: 3880kb

input:

4 1
??N?

output:

NANC

result:

ok correct

Test #29:

score: 0
Accepted
time: 0ms
memory: 3816kb

input:

4 1
???N

output:

NACN

result:

ok correct

Test #30:

score: 0
Accepted
time: 0ms
memory: 3956kb

input:

4 1
A???

output:

ANAC

result:

ok correct

Test #31:

score: 0
Accepted
time: 0ms
memory: 3936kb

input:

4 1
?A??

output:

NAHC

result:

ok correct

Test #32:

score: 0
Accepted
time: 0ms
memory: 3948kb

input:

4 1
??A?

output:

CNAC

result:

ok correct

Test #33:

score: 0
Accepted
time: 0ms
memory: 3960kb

input:

4 1
???A

output:

NACA

result:

ok correct

Test #34:

score: 0
Accepted
time: 0ms
memory: 3820kb

input:

4 1
C???

output:

CNAC

result:

ok correct

Test #35:

score: 0
Accepted
time: 0ms
memory: 3928kb

input:

4 1
?C??

output:

NCAC

result:

ok correct

Test #36:

score: 0
Accepted
time: 0ms
memory: 3804kb

input:

4 1
??C?

output:

NACA

result:

ok correct

Test #37:

score: 0
Accepted
time: 0ms
memory: 3864kb

input:

4 1
???C

output:

CNAC

result:

ok correct

Test #38:

score: 0
Accepted
time: 0ms
memory: 4008kb

input:

5 4
?????

output:

NAACC

result:

ok correct

Test #39:

score: 0
Accepted
time: 0ms
memory: 4048kb

input:

6 14
??????

output:

-1

result:

ok correct

Test #40:

score: 0
Accepted
time: 0ms
memory: 4092kb

input:

7 14
???????

output:

-1

result:

ok correct

Test #41:

score: 0
Accepted
time: 1ms
memory: 3924kb

input:

8 43
????????

output:

-1

result:

ok correct

Test #42:

score: 0
Accepted
time: 1ms
memory: 4252kb

input:

9 55
?????????

output:

-1

result:

ok correct

Test #43:

score: 0
Accepted
time: 1ms
memory: 4128kb

input:

10 112
??????????

output:

-1

result:

ok correct

Test #44:

score: 0
Accepted
time: 1ms
memory: 4304kb

input:

11 110
???????????

output:

-1

result:

ok correct

Test #45:

score: 0
Accepted
time: 0ms
memory: 4404kb

input:

12 4
????????????

output:

CCCCCCNACCCC

result:

ok correct

Test #46:

score: 0
Accepted
time: 0ms
memory: 4532kb

input:

13 193
?????????????

output:

-1

result:

ok correct

Test #47:

score: 0
Accepted
time: 1ms
memory: 4680kb

input:

14 91
??????????????

output:

NNNANAAACACCCC

result:

ok correct

Test #48:

score: 0
Accepted
time: 1ms
memory: 4900kb

input:

15 15
???????????????

output:

CCCCNACACCCCCCC

result:

ok correct

Test #49:

score: 0
Accepted
time: 1ms
memory: 4996kb

input:

16 261
????????????????

output:

-1

result:

ok correct

Test #50:

score: 0
Accepted
time: 1ms
memory: 5332kb

input:

17 514
?????????????????

output:

-1

result:

ok correct

Test #51:

score: 0
Accepted
time: 1ms
memory: 5516kb

input:

18 678
??????????????????

output:

-1

result:

ok correct

Test #52:

score: 0
Accepted
time: 1ms
memory: 5604kb

input:

19 40
???????????????????

output:

CNACAACCCCCCCCCCCCC

result:

ok correct

Test #53:

score: 0
Accepted
time: 0ms
memory: 5748kb

input:

20 1019
????????????????????

output:

-1

result:

ok correct

Test #54:

score: 0
Accepted
time: 2ms
memory: 6004kb

input:

21 1218
?????????????????????

output:

-1

result:

ok correct

Test #55:

score: 0
Accepted
time: 2ms
memory: 6300kb

input:

22 1348
??????????????????????

output:

-1

result:

ok correct

Test #56:

score: 0
Accepted
time: 0ms
memory: 6704kb

input:

23 476
???????????????????????

output:

-1

result:

ok correct

Test #57:

score: 0
Accepted
time: 0ms
memory: 7048kb

input:

24 1445
????????????????????????

output:

-1

result:

ok correct

Test #58:

score: 0
Accepted
time: 3ms
memory: 7420kb

input:

25 1331
?????????????????????????

output:

-1

result:

ok correct

Test #59:

score: 0
Accepted
time: 0ms
memory: 7704kb

input:

26 459
??????????????????????????

output:

NNNANAAAAAAAAAAAACCCCCCCCC

result:

ok correct

Test #60:

score: 0
Accepted
time: 0ms
memory: 8136kb

input:

27 398
???????????????????????????

output:

NNANAAAACAAAAAACCCCCCCCCCCC

result:

ok correct

Test #61:

score: 0
Accepted
time: 3ms
memory: 8512kb

input:

28 274
????????????????????????????

output:

NNACAAAAAAACCCCCCCCCCCCCCCCC

result:

ok correct

Test #62:

score: 0
Accepted
time: 4ms
memory: 8848kb

input:

29 1624
?????????????????????????????

output:

-1

result:

ok correct

Test #63:

score: 0
Accepted
time: 0ms
memory: 9080kb

input:

30 2079
??????????????????????????????

output:

-1

result:

ok correct

Test #64:

score: 0
Accepted
time: 0ms
memory: 9644kb

input:

31 2067
???????????????????????????????

output:

-1

result:

ok correct

Test #65:

score: 0
Accepted
time: 0ms
memory: 10136kb

input:

32 1267
????????????????????????????????

output:

-1

result:

ok correct

Test #66:

score: 0
Accepted
time: 2ms
memory: 10348kb

input:

33 928
?????????????????????????????????

output:

NNNNAANAAAAAAAAAACCCCCCCCCCCCCCCC

result:

ok correct

Test #67:

score: 0
Accepted
time: 2ms
memory: 10824kb

input:

34 298
??????????????????????????????????

output:

NAANAAAACACCCCCCCCCCCCCCCCCCCCCCCC

result:

ok correct

Test #68:

score: 0
Accepted
time: 0ms
memory: 11396kb

input:

35 2361
???????????????????????????????????

output:

-1

result:

ok correct

Test #69:

score: 0
Accepted
time: 0ms
memory: 11820kb

input:

36 489
????????????????????????????????????

output:

NACNAAAAAACAAAAAACCCCCCCCCCCCCCCCCCC

result:

ok correct

Test #70:

score: 0
Accepted
time: 3ms
memory: 12368kb

input:

37 294
?????????????????????????????????????

output:

NAAAAAAAACAAAAACCCCCCCCCCCCCCCCCCCCCC

result:

ok correct

Test #71:

score: 0
Accepted
time: 7ms
memory: 12800kb

input:

38 1558
??????????????????????????????????????

output:

NNNNNNAANAAAAAAAAAACCCCCCCCCCCCCCCCCCC

result:

ok correct

Test #72:

score: 0
Accepted
time: 3ms
memory: 13464kb

input:

39 1319
???????????????????????????????????????

output:

NNNNANAAAAAAACAAAAACCCCCCCCCCCCCCCCCCCC

result:

ok correct

Test #73:

score: 0
Accepted
time: 0ms
memory: 13912kb

input:

40 993
????????????????????????????????????????

output:

NNNAAAAAAAAAAACAAAAACCCCCCCCCCCCCCCCCCCC

result:

ok correct

Test #74:

score: 0
Accepted
time: 6ms
memory: 13324kb

input:

40 498
ACNANACNNACNACNNNCNCNNNANNNACNCCACAA?ANA

output:

-1

result:

ok correct

Test #75:

score: 0
Accepted
time: 0ms
memory: 13328kb

input:

40 855
NAAANAACNNNCNAANCNANCNANACANCCAANCACNCAC

output:

-1

result:

ok correct

Test #76:

score: 0
Accepted
time: 3ms
memory: 13392kb

input:

40 1007
?CNACNNAANACANACNACCC?CAANNCCCCANNANCACN

output:

-1

result:

ok correct

Test #77:

score: 0
Accepted
time: 6ms
memory: 13404kb

input:

40 1778
NACANANN?CCANNCCAACNNCCNCCCNCCNACCNC?NNN

output:

-1

result:

ok correct

Test #78:

score: 0
Accepted
time: 0ms
memory: 13324kb

input:

40 2186
ACCCACAN?NNA?AACCNNNN?ANACCANCNCNNCA?NCN

output:

-1

result:

ok correct

Test #79:

score: 0
Accepted
time: 0ms
memory: 13300kb

input:

40 332
ACAC?NCCCANAA?ACCNNC?NAC?CAC?CNCNNACNNNN

output:

-1

result:

ok correct

Test #80:

score: 0
Accepted
time: 0ms
memory: 13340kb

input:

40 712
ANCNANAAC?CACAACA?CNACCCANAACCA?CNNAANCN

output:

-1

result:

ok correct

Test #81:

score: 0
Accepted
time: 3ms
memory: 13328kb

input:

40 1127
C?CAAAANNCANANAC?NCANACANAACAACANNCCNCAC

output:

-1

result:

ok correct

Test #82:

score: 0
Accepted
time: 3ms
memory: 13392kb

input:

40 1835
CANNCAANNNAANANNCACANAC?CCCCAACA?NNNCAC?

output:

-1

result:

ok correct

Test #83:

score: 0
Accepted
time: 0ms
memory: 13240kb

input:

40 2009
CANAAAN?ANAACNCCNCCNCAAANCANCCAN?CCNCAAN

output:

-1

result:

ok correct

Test #84:

score: 0
Accepted
time: 0ms
memory: 13308kb

input:

40 54
CNAC?ACAAC?ACC?ANC?C?NNCAANCCAC?NCN?CACA

output:

-1

result:

ok correct

Test #85:

score: 0
Accepted
time: 6ms
memory: 13412kb

input:

40 955
?A?ANA?NN?C?ANC??CNNACAAC?N?AAN?AN??ANNA

output:

-1

result:

ok correct

Test #86:

score: 0
Accepted
time: 6ms
memory: 13392kb

input:

40 1451
??CCCA?N?ACCN?C???NNN??C?ANAN??NCNA??NAN

output:

-1

result:

ok correct

Test #87:

score: 0
Accepted
time: 0ms
memory: 13512kb

input:

40 1526
CN??AC?CCCCNACCNCNCCNC?CAAN?C?CA??ANCN?A

output:

-1

result:

ok correct

Test #88:

score: 0
Accepted
time: 6ms
memory: 13272kb

input:

40 2453
C?NC?CCAAN?ACCCNCC??ACAANCANCNCNNAACC?NN

output:

-1

result:

ok correct

Test #89:

score: 0
Accepted
time: 6ms
memory: 13508kb

input:

40 166
?NC??AACAN??NCA?CCAA?A??CNNN?ACNN?AN?ANC

output:

CNCCAAACANUHNCAZCCAAQAGHCNNNCACNNCANCANC

result:

ok correct

Test #90:

score: 0
Accepted
time: 3ms
memory: 13476kb

input:

40 887
?NA?AN?N?A?ANN??N?ANCAN?N????AC?NN?NA???

output:

NNANANHNAAAANNAANCANCANANACCCACCNNCNACCC

result:

ok correct

Test #91:

score: 0
Accepted
time: 6ms
memory: 13552kb

input:

40 1310
CCN?NNANC??CANN??NC?N??NA?NNNNCN?N?CCCCC

output:

-1

result:

ok correct

Test #92:

score: 0
Accepted
time: 3ms
memory: 13556kb

input:

40 1568
ANCN?N?NACC??NNN?AAC?AANA?CA?NC?CNNAN??N

output:

-1

result:

ok correct

Test #93:

score: 0
Accepted
time: 0ms
memory: 15332kb

input:

40 2035
CA?N?ACCNN??CANA?NC?NACNC??CC???NCA?N?AC

output:

-1

result:

ok correct

Test #94:

score: 0
Accepted
time: 0ms
memory: 13464kb

input:

40 126
AC?CACCCN???C?NCCN?NN??CN?CNCN?C?N?C?A?C

output:

ACCCACCCNACACANCCNHNNCACNCCNCNCCCNCCCACC

result:

ok correct

Test #95:

score: 0
Accepted
time: 3ms
memory: 13536kb

input:

40 962
CCC???A??????AN?N???C?NN??CANA?CNA??N???

output:

CCCNNNANNANANANANAAACCNNAACANACCNACCNCCC

result:

ok correct

Test #96:

score: 0
Accepted
time: 0ms
memory: 13528kb

input:

40 1043
?A??NANA?CN?N?AN?ANN?CNAANCC??AAANNN????

output:

-1

result:

ok correct

Test #97:

score: 0
Accepted
time: 7ms
memory: 13708kb

input:

40 1638
N?ANA?NA???A??N?CNNAA???NC????CNN??AC??N

output:

-1

result:

ok correct

Test #98:

score: 0
Accepted
time: 3ms
memory: 13564kb

input:

40 2240
NNC??NCA???N?N?NNC??CNNNAN??C?AN??AC?C??

output:

-1

result:

ok correct

Test #99:

score: 0
Accepted
time: 7ms
memory: 13568kb

input:

40 55
N?NCNC????C?A??A?A?NN??ACC??C??NC???ACN?

output:

-1

result:

ok correct

Test #100:

score: 0
Accepted
time: 7ms
memory: 13544kb

input:

40 639
C???NN??C?N?N????N?CA?NCAN????AN????NA??

output:

CCCNNNAACANANAACCNACACNCANCCCCANCCCCNACC

result:

ok correct

Test #101:

score: 0
Accepted
time: 3ms
memory: 13440kb

input:

40 1438
?C?A?NA?AN???CA???NAAAN??A?NNANNCAA?????

output:

-1

result:

ok correct

Test #102:

score: 0
Accepted
time: 0ms
memory: 13492kb

input:

40 1660
???C?A???????NN??AANNAC???A?CN??ACN?AC?C

output:

-1

result:

ok correct

Test #103:

score: 0
Accepted
time: 3ms
memory: 13580kb

input:

40 2016
??AA??N?N??A?C?C????????C????C?C?CN??N?A

output:

-1

result:

ok correct

Test #104:

score: 0
Accepted
time: 3ms
memory: 13672kb

input:

40 242
?C???A???AA??A??C?CN???C???A?ANA?NN??AA?

output:

NCAAAAAAAAAACAACCCCNCCCCCCCACANACNNCCAAC

result:

ok correct

Test #105:

score: 0
Accepted
time: 3ms
memory: 13764kb

input:

40 711
??A?AA?C??C???CCNA?????C????A?????A??C??

output:

NNANAACCCACAAACCNAAACCCCCCCCACCCCCACCCCC

result:

ok correct

Test #106:

score: 0
Accepted
time: 3ms
memory: 13780kb

input:

40 1094
??AACN??N?A?????C????AA??CC???CC?N?A????

output:

NNAACNANNAAAAAAACCAACAACCCCCCCCCCNCACCCC

result:

ok correct

Test #107:

score: 0
Accepted
time: 0ms
memory: 13620kb

input:

40 1878
?A??AACCA????N???A???C?C?C??C?NANC?N?NAC

output:

-1

result:

ok correct

Test #108:

score: 0
Accepted
time: 0ms
memory: 13724kb

input:

40 2082
AC??ACANC?CN?C?N???C?N???N??C?CC?????C?C

output:

-1

result:

ok correct

Test #109:

score: 0
Accepted
time: 7ms
memory: 13720kb

input:

40 268
N?N??NNNCNC??CAC????A?C?????N???AN??NC??

output:

NANVJNNNCNCWPCACCCCCACCCCCCCNCCCANCCNCCC

result:

ok correct

Test #110:

score: 0
Accepted
time: 0ms
memory: 13820kb

input:

40 960
?????????N???NA?????????C??AC???AN?A???A

output:

NNAANAAAANAAANAAAAAAACCCCCCACCCCANCACCCA

result:

ok correct

Test #111:

score: 0
Accepted
time: 0ms
memory: 13828kb

input:

40 1342
???C?????C?????NA?N??N?C?????A?N???NA???

output:

NNNCNNNNNCNAAANNAANAANACAACCCACNCCCNACCC

result:

ok correct

Test #112:

score: 0
Accepted
time: 0ms
memory: 13584kb

input:

40 1739
?A?A???A???N?A??N???C???NCC??C??ANN???A?

output:

-1

result:

ok correct

Test #113:

score: 0
Accepted
time: 3ms
memory: 13752kb

input:

40 2484
??????N????N?????N?C??N????????????A???N

output:

-1

result:

ok correct

Test #114:

score: 0
Accepted
time: 4ms
memory: 13896kb

input:

40 116
?CN????????A??A???C????????????????C????

output:

CCNCAACCCCCACCACCCCCCCCCCCCCCCCCCCCCCCCC

result:

ok correct

Test #115:

score: 0
Accepted
time: 0ms
memory: 13852kb

input:

40 538
NC???N?????????????NN??N????????CC???N??

output:

NCAACNAAAAAAAAAAAACNNAANCCCCCCCCCCCCCNCC

result:

ok correct

Test #116:

score: 0
Accepted
time: 0ms
memory: 13864kb

input:

40 1128
?????AN?????CN????N?A????C???C??????????

output:

NANANANAAAAACNAAAANAACCCCCCCCCCCCCCCCCCC

result:

ok correct

Test #117:

score: 0
Accepted
time: 0ms
memory: 13688kb

input:

40 1819
?????????C?AC?????C??A??NC?????????????C

output:

-1

result:

ok correct

Test #118:

score: 0
Accepted
time: 0ms
memory: 13736kb

input:

40 2198
??????A???N????????ANN???N?C??????C?????

output:

-1

result:

ok correct

Test #119:

score: 0
Accepted
time: 8ms
memory: 13924kb

input:

40 373
???????????C?A?????????A???A?C??????????

output:

NACAAANAAACCCACCCCCCCCCACCCACCCCCCCCCCCC

result:

ok correct

Test #120:

score: 0
Accepted
time: 0ms
memory: 13836kb

input:

40 744
?????????????????C????????????A????C???N

output:

NNAAANAAAAAAAACCCCCCCCCCCCCCCCACCCCCCCCN

result:

ok correct

Test #121:

score: 0
Accepted
time: 4ms
memory: 13992kb

input:

40 1103
???????????????????????????N????????????

output:

NNNACNAAAAAAAAAAAAACCCCCCCCNCCCCCCCCCCCC

result:

ok correct

Test #122:

score: 0
Accepted
time: 0ms
memory: 13856kb

input:

40 1866
???????A??????A??A???????????????C??????

output:

NNNNNNNAANAACAAAAAAAAACCCCCCCCCCCCCCCCCC

result:

ok correct

Test #123:

score: 0
Accepted
time: 0ms
memory: 13800kb

input:

40 2466
????????????CN?????????????????N??CA????

output:

-1

result:

ok correct

Test #124:

score: 0
Accepted
time: 3ms
memory: 13832kb

input:

40 1
?????????????????????????????????????NAC

output:

CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCNAC

result:

ok correct