Submission #6237991
Source Code Expand
import sys
input = sys.stdin.readline
N,L = map(int,input().split())
# (右向き・左向き)でセット
left = []
right = []
last = 'R'
def F(left,right):
l_cnt,l_sum = len(left), sum(left)
r_cnt,r_sum = len(right), sum(right)
# 集合場所
if r_cnt == 0:
P = 0, 1
elif l_cnt == 0:
P = L, L+1
else:
# 少人数側に寄せる
if l_cnt < r_cnt:
P = left[0]-1, left[0]
else:
P = right[-1], right[-1]+1
# 右向きの移動距離
x = (P[0] + P[0] - r_cnt + 1) * r_cnt // 2 - r_sum
# 左向きの移動距離
x += l_sum - (P[1] + P[1] + l_cnt - 1) * l_cnt // 2
return x
answer = 0
for _ in range(N):
x,d = input().split()
x = int(x)
if d == 'R':
if last == 'R':
right.append(x)
else:
# 一区切りになった
last = 'R'
answer += F(left,right)
left = []
right = [x]
else:
last = 'L'
left.append(x)
answer += F(left,right)
print(answer)
Submission Info
| Submission Time | |
|---|---|
| Task | C - ウサギ跳び |
| User | maspy |
| Language | Python (3.4.3) |
| Score | 100 |
| Code Size | 1116 Byte |
| Status | AC |
| Exec Time | 197 ms |
| Memory | 7084 KiB |
Judge Result
| Set Name | Sample | All | ||||
|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 100 / 100 | ||||
| Status |
|
|
| Set Name | Test Cases |
|---|---|
| Sample | sample_01.txt, sample_02.txt, sample_03.txt |
| All | sample_01.txt, sample_02.txt, sample_03.txt, subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_13.txt, subtask1_14.txt, subtask1_15.txt, subtask1_16.txt, subtask1_17.txt, subtask1_18.txt, subtask1_19.txt, subtask1_20.txt, subtask1_21.txt, subtask1_22.txt, subtask1_23.txt, subtask1_24.txt, subtask1_25.txt, subtask1_26.txt, subtask1_27.txt, subtask1_28.txt, subtask1_29.txt, subtask1_30.txt, subtask1_31.txt, subtask1_32.txt |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| sample_01.txt | AC | 16 ms | 3064 KiB |
| sample_02.txt | AC | 17 ms | 3064 KiB |
| sample_03.txt | AC | 17 ms | 3064 KiB |
| subtask1_01.txt | AC | 16 ms | 3064 KiB |
| subtask1_02.txt | AC | 17 ms | 3064 KiB |
| subtask1_03.txt | AC | 94 ms | 7084 KiB |
| subtask1_04.txt | AC | 97 ms | 7084 KiB |
| subtask1_05.txt | AC | 90 ms | 7076 KiB |
| subtask1_06.txt | AC | 103 ms | 7076 KiB |
| subtask1_07.txt | AC | 93 ms | 7076 KiB |
| subtask1_08.txt | AC | 101 ms | 7072 KiB |
| subtask1_09.txt | AC | 95 ms | 7072 KiB |
| subtask1_10.txt | AC | 90 ms | 5020 KiB |
| subtask1_11.txt | AC | 197 ms | 3064 KiB |
| subtask1_12.txt | AC | 101 ms | 7084 KiB |
| subtask1_13.txt | AC | 96 ms | 5284 KiB |
| subtask1_14.txt | AC | 96 ms | 7072 KiB |
| subtask1_15.txt | AC | 106 ms | 7064 KiB |
| subtask1_16.txt | AC | 193 ms | 3064 KiB |
| subtask1_17.txt | AC | 90 ms | 3064 KiB |
| subtask1_18.txt | AC | 85 ms | 3064 KiB |
| subtask1_19.txt | AC | 35 ms | 3064 KiB |
| subtask1_20.txt | AC | 138 ms | 3064 KiB |
| subtask1_21.txt | AC | 51 ms | 3064 KiB |
| subtask1_22.txt | AC | 68 ms | 3064 KiB |
| subtask1_23.txt | AC | 128 ms | 3064 KiB |
| subtask1_24.txt | AC | 64 ms | 3064 KiB |
| subtask1_25.txt | AC | 119 ms | 3064 KiB |
| subtask1_26.txt | AC | 132 ms | 3064 KiB |
| subtask1_27.txt | AC | 18 ms | 3064 KiB |
| subtask1_28.txt | AC | 151 ms | 3064 KiB |
| subtask1_29.txt | AC | 122 ms | 3064 KiB |
| subtask1_30.txt | AC | 46 ms | 3064 KiB |
| subtask1_31.txt | AC | 96 ms | 3064 KiB |
| subtask1_32.txt | AC | 149 ms | 3064 KiB |