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 | #include <stdio.h>
#define MAX_NUM 1000000000
int nums[50000];
int ans(int n, int sign)
{
int last = sign * MAX_NUM;
int res = 0;
for (int i = 0; i < n; i++) {
if (sign * (last - nums[i]) > 0) {
last = nums[i];
} else {
last = -sign * MAX_NUM;
res++;
}
sign = -sign;
}
return res;
}
int main(void)
{
int n;
scanf("%d", &n);
for (int i = 0; i < n; i++)
scanf("%d", &nums[i]);
int ansp = ans(n, +1);
int ansn = ans(n, -1);
printf("%d\n", ansp < ansn ? ansp : ansn);
}
|