liczba_dzwiekow = int(input()) dzwieki = list(map(int, input().split())) # dla przyszlych testow z odwrotną kolejnością mniejszych większych liczb dzwieki2 = dzwieki.copy() # drugi dzwiek wiekszy od pierwszego itd aż do końca nastepne_wieksze = True # tablica przechowująca dwie liczby, jedna liczba informuje nas # o tym ile zmian potrzebujemy dla kolejności mniejsza większa # a druga liczba o ilości zmian dla kolejności większa mniejsza mozliwe_zmiany = [] # na początku mamy zero zmian zmiany = 0 for i in range(len(dzwieki)-1): if nastepne_wieksze: if dzwieki[i] >= dzwieki[i+1]: zmiany += 1 dzwieki[i+1] = 10**9 else: if dzwieki[i] <= dzwieki[i+1]: zmiany += 1 dzwieki[i+1] = -1*(10**9) nastepne_wieksze = not nastepne_wieksze # i druga możliwość drugi dźwięk mniejszy od pierwszego itd aż do końca nastepne_wieksze = False # ustawiamy na nowo naszą tablice z dźwiękami na taką jaka była na początku przed zmianami w powyższym kodzie dzwieki = dzwieki2 # zapisujemy jedną z możliwych ilości zmian w nagraniu mozliwe_zmiany.append(zmiany) # robimy dokładnie to samo zmiany = 0 for i in range(len(dzwieki)-1): if nastepne_wieksze: if dzwieki[i] >= dzwieki[i+1]: zmiany += 1 dzwieki[i+1] = 10**9 else: if dzwieki[i] <= dzwieki[i+1]: zmiany += 1 dzwieki[i+1] = -1*(10**9) nastepne_wieksze = not nastepne_wieksze # zapisujemy drugą z możliwych ilości zmian w nagraniu mozliwe_zmiany.append(zmiany) # i pokazujemy tą najniższą wartość print(min(mozliwe_zmiany))
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 | liczba_dzwiekow = int(input()) dzwieki = list(map(int, input().split())) # dla przyszlych testow z odwrotną kolejnością mniejszych większych liczb dzwieki2 = dzwieki.copy() # drugi dzwiek wiekszy od pierwszego itd aż do końca nastepne_wieksze = True # tablica przechowująca dwie liczby, jedna liczba informuje nas # o tym ile zmian potrzebujemy dla kolejności mniejsza większa # a druga liczba o ilości zmian dla kolejności większa mniejsza mozliwe_zmiany = [] # na początku mamy zero zmian zmiany = 0 for i in range(len(dzwieki)-1): if nastepne_wieksze: if dzwieki[i] >= dzwieki[i+1]: zmiany += 1 dzwieki[i+1] = 10**9 else: if dzwieki[i] <= dzwieki[i+1]: zmiany += 1 dzwieki[i+1] = -1*(10**9) nastepne_wieksze = not nastepne_wieksze # i druga możliwość drugi dźwięk mniejszy od pierwszego itd aż do końca nastepne_wieksze = False # ustawiamy na nowo naszą tablice z dźwiękami na taką jaka była na początku przed zmianami w powyższym kodzie dzwieki = dzwieki2 # zapisujemy jedną z możliwych ilości zmian w nagraniu mozliwe_zmiany.append(zmiany) # robimy dokładnie to samo zmiany = 0 for i in range(len(dzwieki)-1): if nastepne_wieksze: if dzwieki[i] >= dzwieki[i+1]: zmiany += 1 dzwieki[i+1] = 10**9 else: if dzwieki[i] <= dzwieki[i+1]: zmiany += 1 dzwieki[i+1] = -1*(10**9) nastepne_wieksze = not nastepne_wieksze # zapisujemy drugą z możliwych ilości zmian w nagraniu mozliwe_zmiany.append(zmiany) # i pokazujemy tą najniższą wartość print(min(mozliwe_zmiany)) |