ログインしてください。
提出 #7886543
ソースコード 拡げる
S, T = gets.chomp, gets.chomp
I = [nil]*('z'.ord-'a'.ord+1)
IS = [nil]*S.size
S.chars.reverse_each.with_index{|c,i|
c, i = c.ord-'a'.ord, S.size-1-i
IS[i], I[c] = I[c], i
}
ICache = [nil]*('z'.ord-'a'.ord+1)
p T.each_char.inject(0){|i,c|
id, im, c = i/S.size*S.size, i%S.size, c.ord-'a'.ord
ic = (ICache[c]&&ICache[c]<=im) ? ICache[c] : I[c]
break -1 unless ic
ic = IS[ic] while ic && ic < im
ic = ic.nil? ? id+S.size+I[c] : id+ic
ICache[c] = ic%S.size
next ic+1
}
提出情報
| 提出日時 | |
|---|---|
| 問題 | E - Strings of Impurity |
| ユーザ | ds14050 |
| 言語 | Ruby (2.3.3) |
| 得点 | 500 |
| コード長 | 495 Byte |
| 結果 | AC |
| 実行時間 | 432 ms |
| メモリ | 10364 KiB |
ジャッジ結果
| セット名 | Sample | All | ||||
|---|---|---|---|---|---|---|
| 得点 / 配点 | 0 / 0 | 500 / 500 | ||||
| 結果 |
|
|
| セット名 | テストケース |
|---|---|
| Sample | a01, a02, a03 |
| All | a01, a02, a03, b04, b05, b06, b07, b08, b09, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32, b33, b34, b35, b36, b37, b38, b39, b40, b41, b42, b43, b44, b45 |
| ケース名 | 結果 | 実行時間 | メモリ |
|---|---|---|---|
| a01 | AC | 7 ms | 1788 KiB |
| a02 | AC | 7 ms | 1788 KiB |
| a03 | AC | 7 ms | 1916 KiB |
| b04 | AC | 7 ms | 1788 KiB |
| b05 | AC | 7 ms | 1788 KiB |
| b06 | AC | 7 ms | 1788 KiB |
| b07 | AC | 7 ms | 1788 KiB |
| b08 | AC | 7 ms | 1788 KiB |
| b09 | AC | 7 ms | 1788 KiB |
| b10 | AC | 126 ms | 10364 KiB |
| b11 | AC | 138 ms | 10364 KiB |
| b12 | AC | 136 ms | 10364 KiB |
| b13 | AC | 130 ms | 10364 KiB |
| b14 | AC | 129 ms | 10364 KiB |
| b15 | AC | 134 ms | 10364 KiB |
| b16 | AC | 134 ms | 10364 KiB |
| b17 | AC | 201 ms | 10364 KiB |
| b18 | AC | 193 ms | 10364 KiB |
| b19 | AC | 192 ms | 10364 KiB |
| b20 | AC | 254 ms | 10364 KiB |
| b21 | AC | 226 ms | 10364 KiB |
| b22 | AC | 213 ms | 10364 KiB |
| b23 | AC | 268 ms | 10364 KiB |
| b24 | AC | 224 ms | 10364 KiB |
| b25 | AC | 432 ms | 10364 KiB |
| b26 | AC | 359 ms | 10364 KiB |
| b27 | AC | 258 ms | 10364 KiB |
| b28 | AC | 209 ms | 10364 KiB |
| b29 | AC | 164 ms | 10364 KiB |
| b30 | AC | 164 ms | 10364 KiB |
| b31 | AC | 63 ms | 10364 KiB |
| b32 | AC | 74 ms | 2044 KiB |
| b33 | AC | 41 ms | 1916 KiB |
| b34 | AC | 63 ms | 10236 KiB |
| b35 | AC | 63 ms | 10236 KiB |
| b36 | AC | 139 ms | 10364 KiB |
| b37 | AC | 142 ms | 10364 KiB |
| b38 | AC | 142 ms | 10364 KiB |
| b39 | AC | 137 ms | 10364 KiB |
| b40 | AC | 142 ms | 10364 KiB |
| b41 | AC | 132 ms | 10364 KiB |
| b42 | AC | 63 ms | 10364 KiB |
| b43 | AC | 63 ms | 10364 KiB |
| b44 | AC | 140 ms | 10364 KiB |
| b45 | AC | 142 ms | 10364 KiB |