#include <bits/stdc++.h> using namespace std; // trzeba rozpatzrec dwa przypadki jak zmieniamy pierwsza i jak nie zmieniamy pirwszej void solve(){ int n; cin>>n; vector<int>tab(n+7); for(int i=0;i<n;i++){ cin>>tab[i]; } // ogarniamy dwa przypadki mwmw.... i wmwmwmwm.... int wynik1=0; bool mniejsza=true; // ta zmienna mowi czy liczba ma byc mniejsza od poprzedzniej( true ) czy większa ( false) zaczynamy zakładając żę pierwsza ma byc większa int i=1; while(i<n){ if(mniejsza){ if(tab[i-1]<=tab[i]){ wynik1++; i+=1; } mniejsza=false; }else{ if(tab[i-1]>=tab[i]){ wynik1++; i+=1; } mniejsza=true; } i+=1; } int wynik2=0; mniejsza=false; // ta zmienna mowi czy liczba ma byc mniejsza od poprzedzniej( true ) czy większa ( false) zakładamy żę pierwsza na być mniejsza od nastepnej i=1; while(i<n){ if(mniejsza){ if(tab[i-1]<=tab[i]){ wynik2++; i+=1; } mniejsza=false; }else{ if(tab[i-1]>=tab[i]){ wynik2++; i+=1; } mniejsza=true; } i+=1; } cout<<min(wynik1,wynik2); } int main() { ios_base::sync_with_stdio(0); cin.tie(0); solve(); return 0; }
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 52 53 54 55 56 57 58 59 60 61 62 | #include <bits/stdc++.h> using namespace std; // trzeba rozpatzrec dwa przypadki jak zmieniamy pierwsza i jak nie zmieniamy pirwszej void solve(){ int n; cin>>n; vector<int>tab(n+7); for(int i=0;i<n;i++){ cin>>tab[i]; } // ogarniamy dwa przypadki mwmw.... i wmwmwmwm.... int wynik1=0; bool mniejsza=true; // ta zmienna mowi czy liczba ma byc mniejsza od poprzedzniej( true ) czy większa ( false) zaczynamy zakładając żę pierwsza ma byc większa int i=1; while(i<n){ if(mniejsza){ if(tab[i-1]<=tab[i]){ wynik1++; i+=1; } mniejsza=false; }else{ if(tab[i-1]>=tab[i]){ wynik1++; i+=1; } mniejsza=true; } i+=1; } int wynik2=0; mniejsza=false; // ta zmienna mowi czy liczba ma byc mniejsza od poprzedzniej( true ) czy większa ( false) zakładamy żę pierwsza na być mniejsza od nastepnej i=1; while(i<n){ if(mniejsza){ if(tab[i-1]<=tab[i]){ wynik2++; i+=1; } mniejsza=false; }else{ if(tab[i-1]>=tab[i]){ wynik2++; i+=1; } mniejsza=true; } i+=1; } cout<<min(wynik1,wynik2); } int main() { ios_base::sync_with_stdio(0); cin.tie(0); solve(); return 0; } |