QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#605905#9288. Roman Palindromeslym#WA 10ms11536kbC++205.9kb2024-10-02 20:32:372024-10-02 20:32:37

Judging History

This is the latest submission verdict.

  • [2024-10-02 20:32:37]
  • Judged
  • Verdict: WA
  • Time: 10ms
  • Memory: 11536kb
  • [2024-10-02 20:32:37]
  • Submitted

answer

#include<bits/stdc++.h>
using i64 = long long;

void solve() {
	int n;
	std::cin >> n;
	std::string s;
	std::cin >> s;
	std::vector<std::string > ans;
	std::vector<int> num(n + 1);
 	for (int i = 0; i < n; i ++) {
 		/*
 		if (i + 2 < n) {
 			if (s[i] == 'M' && s[i + 1] == 'C' && s[i + 2] == 'M') {
 				ans.push_back("MCM");
 				i += 2;
 				continue;
 			}
 			if (s[i] == 'C' && s[i + 1] == 'X' && s[i + 2] == 'C') {
 				ans.push_back("CXC");
 				i += 2;
 				continue;
 			}
 			if (s[i] == 'X' && s[i + 1] == 'I' && s[i + 2] == 'X') {
 				ans.push_back("XIX");
 				i += 2;
 				continue;
 			}
 		}*/

 		if (s[i] == 'M') {
 			int j = i;
 			std::string t = "";
 			while (j < n && j - i < 3 && s[j] == 'M') {
 				t += 'M';
 				num[j] = ans.size() + 1;
 				j ++;
 			}
 			i = j - 1;
 			ans.push_back(t);
 		} else if (s[i] == 'C') {
 			int j = i;
 			std::string t = "";
 			while (j < n && j - i < 3 && s[j] == 'C') {
 				t += 'C';
 				num[j] = ans.size() + 1;
 				j ++;
 			}
 			i = j - 1;
 			ans.push_back(t);
 		} else if (s[i] == 'D') { 
 			num[i] = ans.size() + 1;
 			ans.push_back("D");
 		} else if (s[i] == 'X') {
			int j = i;
 			std::string t = "";
 			while (j < n && j - i < 3 && s[j] == 'X') {
 				t += 'X';
 				num[j] = ans.size() + 1;
 				j ++;
 			}
 			i = j - 1;
 			ans.push_back(t);
 		} else if (s[i] == 'L') {
 			num[i] = ans.size() + 1;
 			ans.push_back("L");
 		} else if (s[i] == 'I') {
			int j = i;
 			std::string t = "";
 			while (j < n && j - i < 3 && s[j] == 'I') {
 				t += 'I';
 				num[j] = ans.size() + 1;
 				j ++;
 			}
 			i = j - 1;
 			ans.push_back(t);
 		} else if (s[i] == 'V') {
 			num[i] = ans.size() + 1;
 			ans.push_back("V");
 		} 
	}/*
	std::cout << ans.size() << '\n';
	for (auto it : ans) {
		std::cout << it << '\n';
	}*/

 	// for (int i = 0; i < n; i ++) {
 	// 	std::cout << num[i] << ' ';
 	// }
 	// std::cout << '\n';

 	std::vector<int> pre(n + 1);
 	std::vector<std::string> th(n + 1);
 	for (int i = 0; i < 2; i ++) {
 		pre[i] = i - 1;
 	}
 	for (int i = 2; i < n; i ++) {
 		pre[i] = i - 1;
 		if (num[i] > num[i - 1] + 1) {
 			num[i] = num[i - 1] + 1;
 		}
 		if (s[i - 2] == 'M' && s[i - 1] == 'M' && s[i] == 'M') {
 			int op = i - 3 < 0 ? 0 : num[i - 3];
 			if (op + 1 < num[i]) {
 				num[i] = op + 1;
 			}
 		}
 		if (s[i - 2] == 'C' && s[i - 1] == 'C' && s[i] == 'C') {
 			int op = i - 3 < 0 ? 0 : num[i - 3];
 			if (op + 1 < num[i]) {
 				num[i] = op + 1;
 			}
 		}
 		if (s[i - 2] == 'X' && s[i - 1] == 'X' && s[i] == 'X') {
 			int op = i - 3 < 0 ? 0 : num[i - 3];
 			if (op + 1 < num[i]) {
 				num[i] = op + 1;
 			}
 		}
 		if (s[i - 2] == 'I' && s[i - 1] == 'I' && s[i] == 'I') {
 			int op = i - 3 < 0 ? 0 : num[i - 3];
 			if (op + 1 < num[i]) {
 				num[i] = op + 1;
 			}
 		}
 		if (s[i - 1] == 'M' && s[i] == 'M') {
 			int op = num[i - 2];
 			if (op + 1 < num[i]) {
 				num[i] = op + 1;
 			}
 		}
 		if (s[i - 1] == 'C' && s[i] == 'C') {
 			int op = num[i - 2];
 			if (op + 1 < num[i]) {
 				num[i] = op + 1;
 			}
 		}
 		if (s[i - 1] == 'X' && s[i] == 'X') {
 			int op = num[i - 2];
 			if (op + 1 < num[i]) {
 				num[i] = op + 1;
 			}
 		}
 		if (s[i - 1] == 'I' && s[i] == 'I') {
 			int op = num[i - 2];
 			if (op + 1 < num[i]) {
 				num[i] = op + 1;
 			}
 		}

 		if (s[i - 2] == 'M' && s[i - 1] == 'C' && s[i] == 'M') {
 			int op = i - 3 < 0 ? 0 : num[i - 3];
 			if (op + 1 < num[i]) {
 				num[i] = op + 1;
 				pre[i] = i - 3;
 			}
 			th[i] = "MCM";
 		} 
 		if (s[i - 2] == 'C' && s[i - 1] == 'X' && s[i] == 'C') {
			int op = i - 3 < 0 ? 0 : num[i - 3];
 			if (op + 1 < num[i]) {
 				num[i] = op + 1;
 				pre[i] = i - 3;
 			}
 			th[i] = "CXC";
 		} 
 		if (s[i - 2] == 'X' && s[i - 1] == 'I' && s[i] == 'X') {
 			int op = i - 3 < 0 ? 0 : num[i - 3];
 			if (op + 1 < num[i]) {
 				num[i] = op + 1;
 				pre[i] = i - 3;
 			}
 			th[i] = "XIX";
 		} 
 	}

 	// for (int i = 0; i < n; i ++) {
 	// 	std::cout << num[i] << ' ';
 	// }
 	// std::cout << '\n';


 	// std::cout << num[n - 1] << '\n';

 	int now = n - 1;
 	std::set<int> op;
 	while (now != -1) {
 		if (th[now] != "") {
 			op.insert(now);
 		}
 		now = pre[now];
 	}
 	op.insert(n - 1);
 	int fr = 0;
 	ans.clear();

 	// for (auto it : op) {
 	// 	std::cout << it << ' ';
 	// }
 	// std::cout << '\n';

 	int br = -1;
 	for (auto it : op) {
 		int u = it;
 		if (th[it] != "" && it - br >= 3) u = it - 3;

		for (; fr <= u; fr ++) {
			int i = fr;
			if (s[i] == 'M') {
	 			int j = i;
	 			std::string t = "";
	 			while (j <= u && j - i < 3 && s[j] == 'M') {
	 				t += 'M';
	 				j ++;
	 			}
	 			i = j - 1;
	 			ans.push_back(t);
	 		} else if (s[i] == 'C') {
	 			int j = i;
	 			std::string t = "";
	 			while (j <= u && j - i < 3 && s[j] == 'C') {
	 				t += 'C';
	 				j ++;
	 			}
	 			i = j - 1;
	 			ans.push_back(t);
	 		} else if (s[i] == 'D') { 
	 			ans.push_back("D");
	 		} else if (s[i] == 'X') {
				int j = i;
	 			std::string t = "";
	 			while (j <= u && j - i < 3 && s[j] == 'X') {
	 				t += 'X';
	 				j ++;
	 			}
	 			i = j - 1;
	 			ans.push_back(t);
	 		} else if (s[i] == 'L') {
	 			ans.push_back("L");
	 		} else if (s[i] == 'I') {
				int j = i;
	 			std::string t = "";
	 			while (j <= u && j - i < 3 && s[j] == 'I') {
	 				t += 'I';
	 				j ++;
	 			}
	 			i = j - 1;
	 			ans.push_back(t);
	 		} else if (s[i] == 'V') {
	 			ans.push_back("V");
	 		} 
			fr = i;
		}
		if (th[it] != "" && it - br >= 3) {
			ans.push_back(th[it]);
		}
		fr = it + 1;
		br = it;
 	}
 	std::cout << ans.size() << '\n';
 	for (auto it : ans) {
 		std::cout << it << '\n';
 	}
}
int main() {
	std::ios::sync_with_stdio(false);
	std::cin.tie(nullptr);
	int t = 1;
	//std::cin >> t;
	while (t --) {
		solve();
	}
	return 0;
}
/*
12
MMMCMMCXCXIX
10
MMCMCMCMCM
*/

詳細信息

Test #1:

score: 100
Accepted
time: 0ms
memory: 3588kb

input:

5
MMXXI

output:

3
MM
XX
I

result:

ok OK!

Test #2:

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

input:

1
I

output:

1
I

result:

ok OK!

Test #3:

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

input:

1
V

output:

1
V

result:

ok OK!

Test #4:

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

input:

1
X

output:

1
X

result:

ok OK!

Test #5:

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

input:

1
L

output:

1
L

result:

ok OK!

Test #6:

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

input:

1
C

output:

1
C

result:

ok OK!

Test #7:

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

input:

1
D

output:

1
D

result:

ok OK!

Test #8:

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

input:

1
M

output:

1
M

result:

ok OK!

Test #9:

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

input:

2
XX

output:

1
XX

result:

ok OK!

Test #10:

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

input:

2
LL

output:

2
L
L

result:

ok OK!

Test #11:

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

input:

3
XXX

output:

1
XXX

result:

ok OK!

Test #12:

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

input:

3
VVV

output:

3
V
V
V

result:

ok OK!

Test #13:

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

input:

4
MMMM

output:

2
MMM
M

result:

ok OK!

Test #14:

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

input:

4
DDDD

output:

4
D
D
D
D

result:

ok OK!

Test #15:

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

input:

5
CCCCC

output:

2
CCC
CC

result:

ok OK!

Test #16:

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

input:

5
DDDDD

output:

5
D
D
D
D
D

result:

ok OK!

Test #17:

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

input:

6
IIIIII

output:

2
III
III

result:

ok OK!

Test #18:

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

input:

6
VVVVVV

output:

6
V
V
V
V
V
V

result:

ok OK!

Test #19:

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

input:

3
XIX

output:

1
XIX

result:

ok OK!

Test #20:

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

input:

5
XIXIX

output:

3
XIX
I
X

result:

ok OK!

Test #21:

score: 0
Accepted
time: 10ms
memory: 11536kb

input:

99999
MCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMC...

output:

49999
MCM
C
MCM
C
MCM
C
MCM
C
MCM
C
MCM
C
MCM
C
MCM
C
MCM
C
MCM
C
MCM
C
MCM
C
MCM
C
MCM
C
MCM
C
MCM
C
MCM
C
MCM
C
MCM
C
MCM
C
MCM
C
MCM
C
MCM
C
MCM
C
MCM
C
MCM
C
MCM
C
MCM
C
MCM
C
MCM
C
MCM
C
MCM
C
MCM
C
MCM
C
MCM
C
MCM
C
MCM
C
MCM
C
MCM
C
MCM
C
MCM
C
MCM
C
MCM
C
MCM
C
MCM
C
MCM
C
MCM
C
MCM
C
MCM
C
...

result:

ok OK!

Test #22:

score: 0
Accepted
time: 5ms
memory: 11308kb

input:

100000
LMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMC...

output:

50000
L
MCM
C
MCM
C
MCM
C
MCM
C
MCM
C
MCM
C
MCM
C
MCM
C
MCM
C
MCM
C
MCM
C
MCM
C
MCM
C
MCM
C
MCM
C
MCM
C
MCM
C
MCM
C
MCM
C
MCM
C
MCM
C
MCM
C
MCM
C
MCM
C
MCM
C
MCM
C
MCM
C
MCM
C
MCM
C
MCM
C
MCM
C
MCM
C
MCM
C
MCM
C
MCM
C
MCM
C
MCM
C
MCM
C
MCM
C
MCM
C
MCM
C
MCM
C
MCM
C
MCM
C
MCM
C
MCM
C
MCM
C
MCM
C
MCM
...

result:

ok OK!

Test #23:

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

input:

100000
IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII...

output:

33334
III
III
III
III
III
III
III
III
III
III
III
III
III
III
III
III
III
III
III
III
III
III
III
III
III
III
III
III
III
III
III
III
III
III
III
III
III
III
III
III
III
III
III
III
III
III
III
III
III
III
III
III
III
III
III
III
III
III
III
III
III
III
III
III
III
III
III
III
III
III
III
III
III
II...

result:

ok OK!

Test #24:

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

input:

100000
DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD...

output:

100000
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D...

result:

ok OK!

Test #25:

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

input:

99999
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC...

output:

33333
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CC...

result:

ok OK!

Test #26:

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

input:

99998
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX...

output:

33333
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XX...

result:

ok OK!

Test #27:

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

input:

99997
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC...

output:

33333
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CCC
CC...

result:

ok OK!

Test #28:

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

input:

58475
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX...

output:

19492
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XXX
XX...

result:

ok OK!

Test #29:

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

input:

6696
DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD...

output:

6696
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D...

result:

ok OK!

Test #30:

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

input:

15
LLMXILIDXXXIXXD

output:

12
L
L
M
X
I
L
I
D
XX
XIX
X
D

result:

ok OK!

Test #31:

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

input:

15
VVIIDILXXIXXXCI

output:

11
V
V
II
D
I
L
X
XIX
XX
C
I

result:

ok OK!

Test #32:

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

input:

15
LMMCMMMMXLCLCCC

output:

9
L
M
MCM
MMM
X
L
C
L
CCC

result:

ok OK!

Test #33:

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

input:

15
CCCXCCDLDDMVCXI

output:

12
CC
CXC
C
D
L
D
D
M
V
C
X
I

result:

ok OK!

Test #34:

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

input:

15
XXXIXXXVVLDXLXL

output:

11
XX
XIX
XX
V
V
L
D
X
L
X
L

result:

ok OK!

Test #35:

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

input:

15
IMICVDCXXXIXXXX

output:

10
I
M
I
C
V
D
C
XX
XIX
XXX

result:

ok OK!

Test #36:

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

input:

15
CIMMXMCVMMMMCMM

output:

10
C
I
MM
X
M
C
V
MMM
MCM
M

result:

ok OK!

Test #37:

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

input:

15
VDCCCCXCCCCLDVM

output:

9
V
D
CCC
CXC
CCC
L
D
V
M

result:

ok OK!

Test #38:

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

input:

15
CCCCXCCCCIDCDVX

output:

9
CCC
CXC
CCC
I
D
C
D
V
X

result:

ok OK!

Test #39:

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

input:

15
DXVCCCXCXCCLDDX

output:

11
D
X
V
CCC
X
CXC
C
L
D
D
X

result:

ok OK!

Test #40:

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

input:

15
LIIMXXIXIXXXCLX

output:

10
L
II
M
XX
I
XIX
XX
C
L
X

result:

ok OK!

Test #41:

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

input:

15
CDLXVMMCMCMMMMD

output:

10
C
D
L
X
V
MM
C
MCM
MMM
D

result:

ok OK!

Test #42:

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

input:

15
XXXIXIXXVMLDVMX

output:

11
XXX
I
XIX
X
V
M
L
D
V
M
X

result:

ok OK!

Test #43:

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

input:

15
MVDIXIMMMCMCMMM

output:

10
M
V
D
I
X
I
MMM
C
MCM
MM

result:

ok OK!

Test #44:

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

input:

15
CCCXCXCCCCMCDCC

output:

8
CCC
X
CXC
CCC
M
C
D
CC

result:

ok OK!

Test #45:

score: -100
Wrong Answer
time: 0ms
memory: 3652kb

input:

15
VLVDDMCCCCXCXCC

output:

11
V
L
V
D
D
M
CCC
CXC
X
C
C

result:

wrong answer Jury is better: 10 vs 11