Rezultati

Up. imeNalogaJezikRezultatČas oddaje
vapid-2018 Niz Python 3 100/100OK 19. apr '18 @ 17:46

Test Točke Porabljen spomin Porabljen čas Status
#1 10/10 8,570 MiB 0,000 s OK
#2 10/10 8,602 MiB 0,000 s OK
#3 10/10 8,762 MiB 0,000 s OK
#4 10/10 8,758 MiB 0,000 s OK
#5 10/10 8,738 MiB 0,000 s OK
#6 10/10 8,695 MiB 0,000 s OK
#7 10/10 8,582 MiB 0,000 s OK
#8 10/10 8,586 MiB 0,000 s OK
#9 10/10 8,738 MiB 0,000 s OK
#10 10/10 8,844 MiB 0,000 s OK

Ocenjevani program (Nizi.py):
import sys

# zajem podatkov:
def pretvoriVrstico(vrstica):
    return list(map(str,(vrstica.strip().split())))

podatki = sys.stdin.readlines()

dolzina = int(pretvoriVrstico(podatki[0])[0])
niz = pretvoriVrstico(podatki[1])[0]

def pomozna(stevilo_sprememb,niz):
    if dolzina <= 2:
        return stevilo_sprememb
    elif niz == "010010":
        return  stevilo_sprememb + 2
    elif "010" in niz:
        return stevilo_sprememb + 1
    else:
        return stevilo_sprememb


def glavna(niz):

    stevilo_sprememb = 0
    zacetni = 2
    koncni = dolzina - 3

    levi = niz[zacetni - 2:zacetni + 1]
    desni = niz[koncni:dolzina]


    razlika = koncni - zacetni
    if razlika < 1:
        return(pomozna(0,niz))
    else:
        while zacetni < koncni-1:
            if levi == "010":
                levi = "011"
                stevilo_sprememb += 1
            if desni == "010":
                desni = "110"
                stevilo_sprememb += 1
            zacetni += 1
            koncni -= 1

            levi = levi[1:3] + niz[zacetni]
            desni = niz[koncni] + desni[0:2]
        return(pomozna(stevilo_sprememb, levi+desni))


print(glavna(niz))