#include <bits/stdc++.h> #define INF 1000000000 using namespace std; int main(){ ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); int n; cin >> n; int a[n], b[n], c[n]; //dane, od malejacego, od rosnacego int wynikb = 0, wynikc = 0; for(int i = 0; i < n; i++){ cin >> a[i]; b[i] = a[i]; c[i] = a[i]; if(i){ if(i%2 == 0){ if(a[i] >= b[i-1]) b[i] = -INF; if(a[i] <= c[i-1]) c[i] = INF; }else{ if(a[i] <= b[i-1]) b[i] = INF; if(a[i] >= c[i-1]) c[i] = -INF; } } if(a[i] != b[i]) wynikb++; if(a[i] != c[i]) wynikc++; } cout << min(wynikb, wynikc); 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 | #include <bits/stdc++.h> #define INF 1000000000 using namespace std; int main(){ ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); int n; cin >> n; int a[n], b[n], c[n]; //dane, od malejacego, od rosnacego int wynikb = 0, wynikc = 0; for(int i = 0; i < n; i++){ cin >> a[i]; b[i] = a[i]; c[i] = a[i]; if(i){ if(i%2 == 0){ if(a[i] >= b[i-1]) b[i] = -INF; if(a[i] <= c[i-1]) c[i] = INF; }else{ if(a[i] <= b[i-1]) b[i] = INF; if(a[i] >= c[i-1]) c[i] = -INF; } } if(a[i] != b[i]) wynikb++; if(a[i] != c[i]) wynikc++; } cout << min(wynikb, wynikc); return 0; } |