#46 ABC131-D
** Pensées ** Triez par $ B_i $ et calculez le temps nécessaire pour faire le travail. Changez le drapeau lorsque la limite de temps est dépassée.
n = int(input())
ab = [list(map(int,input().split())) for _ in range(n)]
ab.sort(key=lambda x: x[1])
t = 0
flag = True
for i in range(n):
t += ab[i][0]
if t > ab[i][1]:
flag = False
if flag:
print('Yes')
else:
print('No')
** Pensées **
En termes de taille de N
n = int(input())
a = list(map(int,input().split()))
a.insert(0,0)
a.append(0)
d = [abs(a[i]-a[i+1]) for i in range(n+1)]
s = sum(d)
for i in range(1,n+1):
print(s+abs(a[i-1]-a[i+1])-(abs(a[i-1]-a[i])+abs(a[i]-a[i+1])))
J'ai un peu réfléchi à la deuxième question. J'ai réalisé que je devais réduire la quantité de calcul parce que N était grand, mais je ne pouvais pas bien le réduire. A bientôt, bonne nuit.
Recommended Posts