-
分析
因为一个数不可能同时大于并小于它两边的数,所以两种数的集合不存在交集。
所以分别扫一遍两种数的个数加在一起即可。 -
代码
#include <iostream>
using namespace std;
constexpr int MAXN(1000007);
int a[MAXN];
int n, ans;
inline void read(int &temp) { cin >> temp; }
int main() {
ios::sync_with_stdio(false), cin.tie(nullptr), cout.tie(nullptr);
read(n);
for (int i(1); i <= n; ++i) read(a[i]);
for (int i(2); i < n; ++i) ans += (a[i] > a[i - 1] && a[i] > a[i + 1]);
for (int i(2); i < n; ++i) ans += (a[i] < a[i - 1] && a[i] < a[i + 1]);
cout << ans << endl;
return 0;
}
标签:CF888A,cout,int,题解,MAXN,ans
From: https://www.cnblogs.com/Kazdale/p/17788655.html