Submission #41831796
Source Code Expand
# debug = true debug = false A_TIME, SHIFT_A_TIME, CAPS_LOCK_TIME = gets.split.map(&:to_i) INPUT_BYTES = gets.chomp.bytes SMALL_BYTE, LARGE_BYTE = 'aA'.bytes dp = Array.new(2) { [] } dp[0] << 0 dp[1] << CAPS_LOCK_TIME INPUT_BYTES.each_with_index do |byte, i| if byte == SMALL_BYTE dp[0][i + 1] = [dp[0][i] + A_TIME, dp[1][i] + CAPS_LOCK_TIME + A_TIME].min dp[1][i + 1] = [dp[0][i] + CAPS_LOCK_TIME + SHIFT_A_TIME, dp[1][i] + SHIFT_A_TIME].min else dp[0][i + 1] = [dp[0][i] + SHIFT_A_TIME, dp[1][i] + CAPS_LOCK_TIME + A_TIME].min dp[1][i + 1] = [dp[0][i] + CAPS_LOCK_TIME + SHIFT_A_TIME, dp[1][i] + A_TIME].min end dp[0][i + 1] = [dp[0][i + 1], dp[1][i + 1] + CAPS_LOCK_TIME].min dp[1][i + 1] = [dp[1][i + 1], dp[0][i + 1] + CAPS_LOCK_TIME].min end p dp if debug puts [dp[0][-1], dp[1][-1]].min __END__ dp[0][j+1] = dp[0][j] + x dp[1][j+1] = dp[1][j] + y # とした後に、 dp[0][j+1] = min(dp[0][j+1], dp[1][j+1] + z) dp[1][j+1] = min(dp[1][j+1], dp[0][j+1] + z)
Submission Info
Submission Time | |
---|---|
Task | D - Shift vs. CapsLock |
User | HalMat |
Language | Ruby (2.7.1) |
Score | 400 |
Code Size | 1028 Byte |
Status | AC |
Exec Time | 167 ms |
Memory | 21960 KiB |
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 400 / 400 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt |
All | 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt, 01_small_00.txt, 01_small_01.txt, 01_small_02.txt, 01_small_03.txt, 01_small_04.txt, 01_small_05.txt, 01_small_06.txt, 01_small_07.txt, 01_small_08.txt, 01_small_09.txt, 02_rnd_00.txt, 02_rnd_01.txt, 02_rnd_02.txt, 02_rnd_03.txt, 02_rnd_04.txt, 02_rnd_05.txt, 02_rnd_06.txt, 02_rnd_07.txt, 02_rnd_08.txt, 02_rnd_09.txt, 03_max_00.txt, 03_max_01.txt, 03_max_02.txt, 03_max_03.txt, 04_border_00.txt, 04_border_01.txt, 04_border_02.txt, 04_border_03.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
00_sample_00.txt | AC | 72 ms | 14240 KiB |
00_sample_01.txt | AC | 52 ms | 14148 KiB |
00_sample_02.txt | AC | 55 ms | 14000 KiB |
01_small_00.txt | AC | 55 ms | 14176 KiB |
01_small_01.txt | AC | 55 ms | 14156 KiB |
01_small_02.txt | AC | 55 ms | 14080 KiB |
01_small_03.txt | AC | 56 ms | 14004 KiB |
01_small_04.txt | AC | 56 ms | 14072 KiB |
01_small_05.txt | AC | 56 ms | 13988 KiB |
01_small_06.txt | AC | 55 ms | 13964 KiB |
01_small_07.txt | AC | 55 ms | 14108 KiB |
01_small_08.txt | AC | 55 ms | 14088 KiB |
01_small_09.txt | AC | 55 ms | 13976 KiB |
02_rnd_00.txt | AC | 163 ms | 21916 KiB |
02_rnd_01.txt | AC | 151 ms | 20836 KiB |
02_rnd_02.txt | AC | 151 ms | 20824 KiB |
02_rnd_03.txt | AC | 133 ms | 19628 KiB |
02_rnd_04.txt | AC | 136 ms | 19788 KiB |
02_rnd_05.txt | AC | 126 ms | 19276 KiB |
02_rnd_06.txt | AC | 143 ms | 19912 KiB |
02_rnd_07.txt | AC | 120 ms | 18564 KiB |
02_rnd_08.txt | AC | 151 ms | 20660 KiB |
02_rnd_09.txt | AC | 115 ms | 18356 KiB |
03_max_00.txt | AC | 167 ms | 21924 KiB |
03_max_01.txt | AC | 162 ms | 21884 KiB |
03_max_02.txt | AC | 161 ms | 21884 KiB |
03_max_03.txt | AC | 165 ms | 21824 KiB |
04_border_00.txt | AC | 160 ms | 21828 KiB |
04_border_01.txt | AC | 162 ms | 21796 KiB |
04_border_02.txt | AC | 160 ms | 21884 KiB |
04_border_03.txt | AC | 163 ms | 21960 KiB |