245922026-02-12 21:42:50VikiVölgy (100 pont)python3Time limit exceeded 10/100300ms8644 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
    M.reverse() #hogy hátulról kerüljenek le
    while M[i] <= M[i+1]: #felesleges elemek a lista hatuljatol
        Ei += 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)
SubtaskSumTestVerdictTimeMemory
base10/100
1Accepted0/016ms3124 KiB
2Time limit exceeded0/0287ms3124 KiB
3Time limit exceeded0/5287ms3308 KiB
4Accepted5/516ms3124 KiB
5Time limit exceeded0/5300ms3124 KiB
6Time limit exceeded0/5300ms2984 KiB
7Time limit exceeded0/5284ms3320 KiB
8Time limit exceeded0/5284ms3124 KiB
9Time limit exceeded0/5300ms3164 KiB
10Time limit exceeded0/5300ms3124 KiB
11Time limit exceeded0/5277ms3380 KiB
12Time limit exceeded0/5277ms3124 KiB
13Time limit exceeded0/5300ms3548 KiB
14Time limit exceeded0/5300ms3444 KiB
15Time limit exceeded0/5284ms7104 KiB
16Wrong answer0/5175ms8580 KiB
17Time limit exceeded0/5300ms7108 KiB
18Time limit exceeded0/5300ms7184 KiB
19Time limit exceeded0/5282ms7104 KiB
20Accepted5/5190ms8644 KiB
21Time limit exceeded0/5284ms7412 KiB
22Wrong answer0/5187ms8644 KiB