Ne kontam

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

1 Like

Malo pažljivije pročitaj tekst zadatka :love_you_gesture:

… odrediti poslednjih 6 cifara zbira tako dobijenih vrednosti.

1 Like

:love_you_gesture:

1 Like

@despotovic

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)

1 Like

(post withdrawn by author, will be automatically deleted in 24 hours unless flagged)

1 Like

@gregor sto posto je tacno(msm da se uci u srednjoj)

1 Like

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

1 Like