Rezultati

Up. imeNalogaJezikRezultatČas oddaje
OgresOfWekmar2017 Jungle Speed Python 3 100/100OK 11. maj '17 @ 17:41

Test Točke Porabljen spomin Porabljen čas Status
#1 9/9 8,617 MiB 0,000 s OK
#2 9/9 8,609 MiB 0,000 s OK
#3 9/9 8,594 MiB 0,000 s OK
#4 9/9 8,621 MiB 0,000 s OK
#5 9/9 8,648 MiB 0,000 s OK
#6 9/9 8,594 MiB 0,000 s OK
#7 9/9 8,594 MiB 0,000 s OK
#8 9/9 8,602 MiB 0,000 s OK
#9 9/9 8,625 MiB 0,000 s OK
#10 9/9 8,625 MiB 0,000 s OK
#11 10/10 8,602 MiB 0,000 s OK

Ocenjevani program (speed.py):
import sys
N = int(input())
zmesane = list(map(int, input().split()))

# razdelimo
v_roki = [[] for i in range(N)]
na_mizi = [[] for i in range(N)]
for i in range(len(zmesane)):
    v_roki[i%N].append(zmesane[i])
# konec seznama=vrh
na_vrsti = 0
while 1:
    if not v_roki[na_vrsti]:
        v_roki[na_vrsti] = na_mizi[na_vrsti]
        v_roki[na_vrsti].reverse()
        na_mizi[na_vrsti] = []

    na_mizi[na_vrsti].append(v_roki[na_vrsti].pop())
    for i in range(N):
        if i == na_vrsti:
            continue
        if na_mizi[i] and na_mizi[i][-1] == na_mizi[na_vrsti][-1]:
            v_roki[na_vrsti] = list(reversed(na_mizi[na_vrsti])) + list(reversed(na_mizi[i])) + v_roki[na_vrsti]
            na_mizi[i] = []
            na_mizi[na_vrsti] = []
            if not v_roki[i]:
                print(i+1)
                sys.exit(0)
            break
    else:
        na_vrsti = (na_vrsti+1)%N