Rezultati

Up. imeNalogaJezikRezultatČas oddaje
kjejenovictk-2018 Prehod čez cesto Python 3 0/100Napačen odgovor (WA) 04. okt '18 @ 20:00

Test Točke Porabljen spomin Porabljen čas Status
#1 0/9 8,465 MiB 0,000 s Napačen odgovor
Tvoj izhod:
​131393.0
<<<EOF>>>
Pravilen izhod:
​109.4761904762
<<<EOF>>>
#2 0/9 8,563 MiB 0,000 s Napačen odgovor
Tvoj izhod:
​21898.0
<<<EOF>>>
Pravilen izhod:
​47.2242654830
<<<EOF>>>
#3 0/9 8,547 MiB 0,000 s Napačen odgovor
Tvoj izhod:
​20.0
<<<EOF>>>
Pravilen izhod:
​20000.0000000000
<<<EOF>>>
#4 9/9 8,328 MiB 0,000 s OK
#5 9/9 8,426 MiB 0,000 s OK
#6 0/9 8,422 MiB 0,000 s Napačen odgovor
Tvoj izhod:
​2.0
<<<EOF>>>
Pravilen izhod:
​0.000000000
<<<EOF>>>
#7 9/9 8,359 MiB 0,000 s OK
#8 0/9 8,402 MiB 0,000 s Napačen odgovor
Tvoj izhod:
​20.0
<<<EOF>>>
Pravilen izhod:
​40.000000000
<<<EOF>>>
#9 9/9 8,352 MiB 0,000 s OK
#10 9/9 8,348 MiB 0,000 s OK
#11 10/10 8,348 MiB 0,000 s OK

Ocenjevani program (prehod.py):
import sys

data = sys.stdin.readlines()[1:]
#data = open("prehodTest.txt").readlines()[1:]

intervali = []
for car in data:
    p, x, v, d = list(map(float, car.strip().split()))
    if (v < 0 and  x+d < 0) or (v > 0 and x-d < 0):
        pass

    t0 = - (x + p*v*10) / v
    #t1 = t0 + d/abs(v)
    t1 = (abs(x+(p-1)*v*10) + d)/abs(v)
    if t0 <= 0:
        t0 = 0

    if intervali == []:
        intervali = [[t0, t1]]
    else:
        for i in range(len(intervali)):
            if intervali[i][0] > t0:
                intervali.insert(i, [t0, t1])
                break
        else:
            intervali.append([t0, t1])
#print(intervali)
if intervali[0][0] != 0:
    print(0)
else:
    t1 = intervali[0][1]
    i = 1
    imax = len(intervali)
    if imax == 1:
        print(intervali[0][1])
    else:
        while True:
            if t1 > intervali[i][0]:
                if t1 < intervali[i][1]:
                    t1 = intervali[i][1]
                i += 1
                if i == imax:
                    print(t1)
                    break
            else:
                print(t1)
                break