No.518 ローマ数字の和

レベル : / 実行時間制限 : 1ケース 2.000秒 / メモリ制限 : 512 MB / 通常問題
タグ : / 解いたユーザー数 78
作問者 : NoNo / テスター : tatuyan_edsontatuyan_edson

1 ProblemId : 1276 / 出題時の順位表

問題文

N個のローマ数字(R1,R2,R3, …… ,Rn)がある。
これらN個のローマ数字をすべて加算した結果(A)はいくつになるだろうか。
出力もローマ数字ですること。
ただし、MMMCMXCIX(アラビア数字で3999)より大きな数になる場合は、
"ERROR"と出力せよ。

ローマ数字は次の7つの英字を組み合わせて表す。
I = 1、V = 5、X = 10、L = 50、C = 100、D = 500、M = 1000

また、ローマ数字では文字を4つ重ねること禁止している。
次の数字は減算法によって表記すること。
IV = 4、IX = 9、XL = 40、XC = 90、CD = 400、CM = 900

入力

N
R1 R2 R3  ……  Rn

Nは2以上100以下、
Rはローマ数字I ~ MMMCMXCIX(アラビア数字で1 ~ 3999)

出力

Aをローマ数字の文字列として出力してください。
MMMCMXCIX(アラビア数字で3999)より大きな数になる場合は、"ERROR"と出力してください。
最後に改行してください。

サンプル

サンプル1
入力
2
II III
出力
V

2 + 3 = 5

サンプル2
入力
5
IV XXI CCCXL III MMCMVI
出力
MMMCCLXXIV

4 + 21 + 340 + 3 + 2906 = 3274

サンプル3
入力
4
M M M M
出力
ERROR

1000 + 1000 + 1000 + 1000 = 4000
数値が範囲を超えたので"ERROR"

提出ページヘ