結果
問題 | No.518 ローマ数字の和 |
ユーザー |
![]() |
提出日時 | 2017-05-28 22:29:43 |
言語 | Ruby (3.4.1) |
結果 |
AC
|
実行時間 | 87 ms / 2,000 ms |
コード長 | 333 bytes |
コンパイル時間 | 40 ms |
コンパイル使用メモリ | 7,296 KB |
実行使用メモリ | 12,288 KB |
最終ジャッジ日時 | 2024-09-21 15:37:31 |
合計ジャッジ時間 | 2,526 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 19 |
コンパイルメッセージ
Syntax OK
ソースコード
a=[1000,900,500,400,100,90,50,40,10,9,5,4,1] r=%w(M CM D CD C XC L XL X IX V IV I) b=[] gets gets.split.map{|n| x=0 j=0 loop{ if n.start_with?(r[j]) x+=a[j] n=n[r[j].size..n.size-1] break if n=="" else j+=1 end } b<<x } e=c=b.inject(:+) d="" i=0 loop{ if c<1 break elsif a[i]<=c d+=r[i] c-=a[i] else i+=1 end } puts e>3999?"ERROR":d