이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
n = int(input())
a = [0] * n
b = [0] * n
for i in range(n):
x, y = map(int, input().split())
a[i] = x
b[i] = y
# subtask 1 only
ans = 0
extra = 0
suffix = []
for i in range(n):
ans += abs(extra)
extra += a[i] - b[i]
suffix.append(-1 if extra > 0 else 1)
if sum(a) == sum(b) + 1:
# subtask 2
current = ans
suffix.pop()
total = 0
while len(suffix) > 0:
total += suffix.pop()
ans = min(ans, current + total)
print(ans)
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |