+ 5
Need help in a hackerrank problem.
Only 9/15 cases pass in this code. Can anyone help me finding the solution. Question :- www.hackerrank.com/challenges/crush/problem Mycode :- https://code.sololearn.com/cbgMsh6VP8Yi/?ref=app
1 Odpowiedź
+ 2
Ваш код работает очень долго и не успевает завершится в заданное время. создает огромный массив и складывает С со всеми элементы в заданном диапазоне (А,B). Функция max() тоже очень медленная.
Новый код складывает только С с числом в позиции А и вычитает из числа в позиции B+1.
Не знаю как но такой алгоритм работает.
Источник https://stackoverflow.com/questions/52357594/array-manipulation-hackerrank-runtime-error-issue/52358308
num=input().split(" ")
num=[int(i) for i in num]
n=num[0]
t=num[1]
d = {}
for i in range(t):
g=input().split(" ")
g=[int(j) for j in g]
a=g[0]
b=g[1]
c=g[2]
d.setdefault(a,0)
d[a]=d[a]+c
d.setdefault(b+1,0)
d[b+1]=d[b+1]-c
maximum = 0
summa= 0
for i in sorted(d):
summa+=d[i]
if(maximum<summa):
maximum=summa
print(maximum)