Submission #1241658
Source Code Expand
N = int(input()) start, goal = map(int,input().split()) input() le = [] ri = [] for i in range(N-1): l, r = map(int,input().split()) le.append(l) ri.append(r) le.append(goal) ri.append(goal) lv = [[start, 0]] rv = [[start, 0]] lnow = start rnow = start lv.append([le[0]-lnow, 1]) rv.append([ri[0]-rnow, 1]) lnow = le[0] rnow = ri[0] for l, r in zip(le[1:], ri[1:]): if lv[-1][0]/lv[-1][1] < l - lnow: lp = lv.pop() lv.append([lp[0]+l-lnow, lp[1]+1]) else: lv.append([l - lnow, 1]) lnow = l if rv[-1][0]/rv[-1][1] > r - rnow: rp = rv.pop() rv.append([rp[0]+r-rnow, rp[1]+1]) else: rv.append([r - rnow, 1]) rnow = r root = [] s1 = 0 s2 = 0 for i in range(len(lv)): lv[i][1] += s1 s1 = lv[i][1] lv[i][0] += s2 s2 = lv[i][0] s1 = 0 s2 = 0 for i in range(len(rv)): rv[i][1] += s1 s1 = rv[i][1] rv[i][0] += s2 s2 = rv[i][0] lp = 1 rp = 1 mid = [] while lp<len(lv) and rp<len(rv): if lv[lp][1] < rv[rp][1]: if rv[rp-1][0]+(rv[rp][0]-rv[rp-1][0])/(rv[rp][1]-rv[rp-1][1])*(lv[lp][1] - rv[rp-1][1]) <= lv[lp][0]: mid.append(lv[lp]) rv[rp-1] = lv[lp] lp += 1 else: if lv[lp-1][0]+(lv[lp][0]-lv[lp-1][0])/(lv[lp][1]-lv[lp-1][1])*(rv[rp][1] - lv[lp-1][1]) >= rv[rp][0]: mid.append(rv[rp]) lv[lp-1] = rv[rp] rp += 1 res = 0 now = [start, 0] from math import sqrt for i in mid: res += sqrt((i[0]-now[0])**2 + (i[1]-now[1])**2) now = i print(res)
Submission Info
Submission Time | |
---|---|
Task | D - レースゲーム |
User | chahan69 |
Language | Python (3.4.3) |
Score | 0 |
Code Size | 1515 Byte |
Status | WA |
Exec Time | 1542 ms |
Memory | 52668 KB |
Judge Result
Set Name | All | ||||
---|---|---|---|---|---|
Score / Max Score | 0 / 100 | ||||
Status |
|
Set Name | Test Cases |
---|---|
All | 00_sample1.txt, 00_sample2.txt, 01_rnd_large_00.txt, 01_rnd_large_01.txt, 01_rnd_large_02.txt, 01_rnd_small_00.txt, 01_rnd_small_01.txt, 01_rnd_small_02.txt, 02_narrowrnd_large_00.txt, 02_narrowrnd_large_01.txt, 02_narrowrnd_small_00.txt, 02_narrowrnd_small_01.txt, 03_zigzag_large_00.txt, 03_zigzag_small_00.txt, 04_middle_large_00.txt, 04_middle_large_01.txt, 04_middle_large_02.txt, 04_middle_small_00.txt, 04_middle_small_01.txt, 04_middle_small_02.txt, 05_turnleft_large_00.txt, 05_turnleft_small_00.txt, 06_turnright_large_00.txt, 06_turnright_small_00.txt, 07_free_large_00.txt, 07_free_small_00.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
00_sample1.txt | AC | 18 ms | 3284 KB |
00_sample2.txt | AC | 18 ms | 3284 KB |
01_rnd_large_00.txt | WA | 1299 ms | 43400 KB |
01_rnd_large_01.txt | WA | 1324 ms | 43472 KB |
01_rnd_large_02.txt | WA | 1313 ms | 43432 KB |
01_rnd_small_00.txt | WA | 24 ms | 3284 KB |
01_rnd_small_01.txt | WA | 24 ms | 3284 KB |
01_rnd_small_02.txt | WA | 24 ms | 3284 KB |
02_narrowrnd_large_00.txt | WA | 1405 ms | 46260 KB |
02_narrowrnd_large_01.txt | WA | 1432 ms | 46088 KB |
02_narrowrnd_small_00.txt | WA | 24 ms | 3284 KB |
02_narrowrnd_small_01.txt | WA | 24 ms | 3284 KB |
03_zigzag_large_00.txt | AC | 1513 ms | 44120 KB |
03_zigzag_small_00.txt | AC | 25 ms | 3284 KB |
04_middle_large_00.txt | WA | 1420 ms | 46160 KB |
04_middle_large_01.txt | WA | 1374 ms | 45948 KB |
04_middle_large_02.txt | WA | 1354 ms | 45676 KB |
04_middle_small_00.txt | WA | 25 ms | 3284 KB |
04_middle_small_01.txt | WA | 25 ms | 3284 KB |
04_middle_small_02.txt | WA | 24 ms | 3284 KB |
05_turnleft_large_00.txt | AC | 1542 ms | 52668 KB |
05_turnleft_small_00.txt | AC | 25 ms | 3284 KB |
06_turnright_large_00.txt | WA | 1446 ms | 52328 KB |
06_turnright_small_00.txt | AC | 23 ms | 3284 KB |
07_free_large_00.txt | AC | 908 ms | 15780 KB |
07_free_small_00.txt | AC | 22 ms | 3284 KB |