#include <stdio.h> #include <stdlib.h> int minimumOperations(long long *nums, int n) { int op = 0; for (int i = 0; i < n; i++) { if (nums[i] == nums[i+1]) { op++; i++; } } for (int i = 0; i < n - 2; i++) { if (nums[i] < nums[i+1] && nums[i+1] < nums[i+2] || nums[i] > nums[i+1] && nums[i+1] > nums[i+2]) { op++; } } return op; } int main(void) { int n; scanf("%d\n", &n); int min = 0; long long prev; long long tab[50000]; int dir = 0; for (int i = 0;i < n; i++) { scanf("%lld", &tab[i]); } // for (int i = 0;i < n; i++) { // printf("%lld\n", tab[i]); // } // printf("%d\n", n); printf("%d\n", minimumOperations(tab, n)); // if (prev == cur) { // min++; // } else if (prev < cur) { // dir = 1; // } else { // dir = -1; // } // printf("%lld\n", cur); 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 <stdio.h> #include <stdlib.h> int minimumOperations(long long *nums, int n) { int op = 0; for (int i = 0; i < n; i++) { if (nums[i] == nums[i+1]) { op++; i++; } } for (int i = 0; i < n - 2; i++) { if (nums[i] < nums[i+1] && nums[i+1] < nums[i+2] || nums[i] > nums[i+1] && nums[i+1] > nums[i+2]) { op++; } } return op; } int main(void) { int n; scanf("%d\n", &n); int min = 0; long long prev; long long tab[50000]; int dir = 0; for (int i = 0;i < n; i++) { scanf("%lld", &tab[i]); } // for (int i = 0;i < n; i++) { // printf("%lld\n", tab[i]); // } // printf("%d\n", n); printf("%d\n", minimumOperations(tab, n)); // if (prev == cur) { // min++; // } else if (prev < cur) { // dir = 1; // } else { // dir = -1; // } // printf("%lld\n", cur); return 0; } |