245992026-02-12 22:39:05VikiVölgy (100 pont)python3Hibás válasz 25/100188ms8820 KiB
Ne = int(input()) #elemek szama
M = [] #magasagok
for i in range (Ne):
    M.append(int(input()))
a = 0 #aktualis hossz
h = 0 #eddigi leghosszabb
L = 0 #jelenlegi legmagasabb
i = 0
Si = 0
Ei = 0
N = [0]

if len(M) > 2: #minimum harom ponthoz
    while M[i] <= M[i+1] and len(M) > i+1: #felesleges elemek a lista elejetol
        Si += 1
        i += 1
    M.reverse() #hogy hátulról kerüljenek le
    while M[i] <= M[i+1] and len(M) > i+1: #felesleges elemek a lista hatuljatol
        Ei += 1
        i += 1
    M.reverse() #eredeti sorrendre
    N.extend(M[Si:(Ne-Ei+1)])
    M = N
    N = [0]
    #eredeti sorrend, sor eleji-végi felesleges elemek nekul
    i=0
    for i in range(len(M)):
        if M[i] >= L: #ha a jelenlegi elem nagyobb vagy egyenlo az elozo legnagyobbnal
            if a>h: #ha aktualis befejezett hossz hagyobb az eddigi legnagyobbnal
                h = a #eddigi leghosszabb = aktualis hosszaval
                a = 0 #aktualist lenullazzuk
            L = M[i] #eddigi legmagasabb pont legyen a jelenlegi
        else: #ha jelenlegi elem kisebb az eddigi legmagasabbnal
            a += 1 #jelenlegi hossz novekszik
    i = 0 #indexet lenullazzuk
    
    M.reverse() #hogy elorol nezhessuk hogy utolso elem e a legmagasabb -> idealis allapot
    if M[i] < L: #ha 0. elem kisebb az a legmagabb erteknel
        N.append(M[0]) #hozzaadjuk a legelso elemet (amugy nincs benne)
        while M[i] != L: #amig jelenlegi elem nem az eddigi legmagasabb
            i += 1 #index novekszik
            N.append(M[i]) #N listahoz hozzaadjuk az adott elemet
        M = N #uj M lista (megforditott allapot az uj eredeti allapot)
    i = 0 #indexet lenullazzuk
    L = 0 #eddigi legmagasabb pontot lenullazzuk
    a = 0
    for i in range(len(M)): #uj M lista
        if M[i] >= L: #ha a jelenlegi elem nagyobb az elozo legnagyobbnal
            if a>h:
                h = a
                a = 0
            L = M[i]
        else:
            a += 1

if h == 0: #ha nincs völgy
    print("-1")
else:
    print(h+1)
RészfeladatÖsszpontTesztVerdiktIdőMemória
base25/100
1Elfogadva0/016ms3240 KiB
2Hibás válasz0/018ms3108 KiB
3Hibás válasz0/517ms3104 KiB
4Elfogadva5/517ms3116 KiB
5Hibás válasz0/516ms3216 KiB
6Elfogadva5/517ms3008 KiB
7Futási hiba0/517ms3136 KiB
8Hibás válasz0/516ms3232 KiB
9Futási hiba0/518ms3120 KiB
10Hibás válasz0/518ms3120 KiB
11Elfogadva5/525ms3380 KiB
12Hibás válasz0/532ms3388 KiB
13Hibás válasz0/532ms3780 KiB
14Hibás válasz0/535ms3636 KiB
15Hibás válasz0/5165ms8756 KiB
16Hibás válasz0/5175ms8692 KiB
17Futási hiba0/5181ms7132 KiB
18Hibás válasz0/5188ms8408 KiB
19Hibás válasz0/5168ms8388 KiB
20Elfogadva5/5185ms8820 KiB
21Elfogadva5/5168ms8412 KiB
22Hibás válasz0/5186ms8592 KiB