# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
633078 | 2022-08-21T14:56:47 Z | karolb2011 | Potatoes and fertilizers (LMIO19_bulves) | Python 3 | 0 ms | 0 KB |
import sys import heapq as hq input = sys.stdin.readline n=int(input()) t=0 p=0 s=[] ww=0 z=[] for i in range(n): pi,bi=list(map(int,input().split())) p+=bi-pi s.append(p) if p==0: for c in s: ww+=abs(c) elif p==-1: for c in s: if c<=-1: ww-=c t-=c+1 else: ww+=c t+=c+1 z.append(ww-t) ww=min(t,min(z)+t) else: w=[] for c in s: if c>0: ww+=c c=0 elif c<p: ww-=c-p c=p hq.heappush(w,c) if w[0]<c: hq.heappush(w,c) ww+=abs(hq.heappop(w)-c) print(ww