245962026-02-12 22:13:02VikiVölgy (100 pont)python3Hibás válasz 25/100186ms8692 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 = []

if len(M) > 2: #minimum harom ponthoz
    while M[i] <= 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]: #felesleges elemek a lista hatuljatol
        Ei += 1
        i += 1
    M.reverse() #eredeti sorrendre
    N.extend(M[Si:(Ne-Ei+1)])
    M = N
    N = []
    #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/016ms3304 KiB
2Hibás válasz0/017ms3124 KiB
3Hibás válasz0/516ms3076 KiB
4Elfogadva5/516ms3124 KiB
5Hibás válasz0/516ms3100 KiB
6Elfogadva5/516ms3216 KiB
7Futási hiba0/517ms3124 KiB
8Hibás válasz0/516ms3244 KiB
9Futási hiba0/517ms3212 KiB
10Hibás válasz0/517ms3288 KiB
11Elfogadva5/525ms3344 KiB
12Hibás válasz0/530ms3376 KiB
13Hibás válasz0/532ms3560 KiB
14Hibás válasz0/535ms3892 KiB
15Hibás válasz0/5163ms8692 KiB
16Hibás válasz0/5177ms8680 KiB
17Futási hiba0/5184ms7228 KiB
18Hibás válasz0/5180ms8408 KiB
19Hibás válasz0/5167ms8412 KiB
20Elfogadva5/5185ms8680 KiB
21Elfogadva5/5166ms8412 KiB
22Hibás válasz0/5186ms8668 KiB