################################################# ## 6. prednaska - zaverecna # ## prakticky priklad - uloha 19-1-1: Zlate casy # ## http://ksp.mff.cuni.cz/viz/19-1-1 # ################################################# zaznamy=[1,6,-13,12,3,-2,1,5,6,-4] max=0 max_start=0 max_konec=0 n=len(zaznamy) for velikost in range(1,n+1): #spocteme soucet prvniho okenka soucet=0 for i in range(0,velikost): soucet+=zaznamy[i] #pokud je nahodou prvni okenko vetsi nez max, ulozime si ho if soucet>max: max=soucet max_start=0 max_konec=velikost #ted budeme posunovat okenko az do konce for pozice in range(1,n-velikost): soucet-=zaznamy[pozice-1] #odecteme stary prvek soucet+=zaznamy[pozice+velikost-1] #pricteme novy prvek if soucet>max: max=soucet max_start=pozice max_konec=pozice+velikost-1 print("Maximalni soucet zacina na indexu %i, konci na %i a ma hodnotu %i"% (max_start,max_konec,max))