Kad testiram ovaj kod na prvom primeru kaze mi dobar rezultat
međutim kad testiram na drugom umesto 409187 kaže 1409187?A kada pošaljem ond je sve WA. Znači konfuzija…
https://petlja.org/biblioteka/r/problemi/zbirka-napredni-nivo/zbir_minimuma_trojki
Malo pažljivije pročitaj tekst zadatka
… odrediti poslednjih 6 cifara zbira tako dobijenih vrednosti.
Mislim da ti formula nije ok. Ne znam baš python pa možda kod nije ispravan, probaj npr tako da zapamtiš broj elemenata u listi npr n = int(input())
pa onda posle z = 0
ide npr glupo rešenje sa 3x for petlja znači tj O(n^3)
for i in range(0,n-3):
for j in range(i+1, n-2):
for k in range(j+1, n-1):
z += l[i];
ako se izbaci jedan loop dobije se mnogo brže O(n^2) rešenje
for i in range(0,n-3):
for j in range(i+1, n-2):
z += l[i] * (n - j - 1);
a ako se to još malo prostudira dobije se formula O(n)
for i in range(0, n-3):
z += l[i] * (n - i - 1) * (n - i - 2) / 2
brži algoritam ne mogu da se setim, a i nema smisla jer se koristi sortiranje pa je u svakom slučaju bar O(n log n)
(post withdrawn by author, will be automatically deleted in 24 hours unless flagged)
ne snalazim se najbolje u pytonu pa nisam razumeo ceo kod. kod ti je ok i radi na svim test primerima u zbirci. možda su ti problem tabovi, to se ne vidi dobro u tom postu. koristi preformated text a ne blockquote
l = list()
for i in range(int(input())):
l.append(int(input()))
l = sorted(l)[::-1]
x = 0
z = 0
for i in l:
z += i*(int(x*(x-1)/2))
x += 1
print(z%1000000)
Da su problem vracalo bi sintaksa error tako da Sigurno nisu