Skip to content

ABC-362

A

解法


B

解法


C

URLURL\:\to https://atcoder.jp/contests/abc362/tasks/abc362_c

#貪欲法

def YesNo(cdt):
if cdt: print("Yes")
else:
print("No")
exit(0)
n = Integer().content
L, R = [0]*n, [0]*n
for i in range(n): L[i], R[i] = Integer().content
YesNo(sum(L)<=0 and 0 <= sum(R))
sumX = sum(L)
for i in range(n):
d = min(R[i]-L[i], -sumX)
sumX+=d
L[i]+=d
print(*X)

解法

まず、前提条件として Sum=0Sum=0 となる条件は L0\sum\limits L\le0 かつ R0\sum\limits R\ge0 のときである。 sum(Li)=0sum(L_{i})=0 になれば、題意を満たしたことになり、S=sum(Li)S=sum(L_{i}) というふうにおいておき、 LiL_{i} に対して +Di=min(Ri+Li,S)+D_{i}=min(R_{i}+L_{i}\,,\:S) することで求めたいリストが手に入る。


D

解法


E

解法