728x90
반응형
11971번: 속도 위반
예를 들어 도로가 3구역 [(40km, 75km/h), (50km, 35km/h), (10km, 45km/h)] 이고. 연정이가 달린 3구역 [(40km, 76km/h), (20km, 30km/h), (40km, 40km/h)] 이라면, 처음 0 ~ 40km 영역에서 1km/h 만큼 위반했으나 60km ~ 90km 사이에
www.acmicpc.net
n, m = map(int, input().split())
limit = [ list(map(int, input().split())) for _ in range(n) ]
speed = [ list(map(int, input().split())) for _ in range(m) ]
for i in range(1,n):
limit[i][0] += limit[i-1][0]
for i in range(1,m):
speed[i][0] += speed[i-1][0]
#print( limit, speed )
def checkSpeed( limit, accel ):
if limit < accel:
return accel-limit
return 0
result = 0
l_idx, s_idx = 0, 0
while True:
if (l_idx>=n and s_idx>=m):
break
#print(result, limit[l_idx][1], speed[s_idx][1])
#print(l_idx, s_idx)
x = checkSpeed(limit[l_idx][1],speed[s_idx][1])
result = x>result and x or result #삼항 연산자
if limit[l_idx][0] == speed[s_idx][0]:
l_idx += 1
s_idx += 1
elif limit[l_idx][0] < speed[s_idx][0] and l_idx<n:
l_idx += 1
elif limit[l_idx][0] > speed[s_idx][0] and s_idx<m:
s_idx += 1
print(result)
728x90
반응형
'Algorithm Problems' 카테고리의 다른 글
[백준] 1157 .py - 단어 공부 (0) | 2021.01.15 |
---|---|
[백준] 2231 .py - 분해합 (0) | 2021.01.15 |
[백준] 2884 .py - 알람시계 (0) | 2021.01.15 |
[백준] 9020 .py - 골드바흐의 추측 (0) | 2021.01.15 |
[백준] 11970.py - Fence Painting (USACO Bronze) (0) | 2021.01.15 |