题目描述
孙权人称孙十万,有自己独特的对士兵的检验方法。他总是安慰自己:“生子当如孙仲谋”。这次,他来到兵营,看到徐盛和周泰,说:“我来看看你们练兵及不及格。”
孙权随便抽了一组,这一组有n个兵,每个兵的能力值都不一样,也可以说每个兵的能力值是一个n的排列。如果对于一个士兵来说,如果他的能力值对于他旁边的两个士兵来说既不是最低也不是最高,那么这个士兵就是及格的。
求这一组士兵中的及格个数。
所有输入都是整数
3<=n<=20
输入的n个数为1个排列
输入格式
n
p1 p2 p3....pn
输出格式
及格人数
输入样例 复制
9
9 6 3 2 5 8 7 4 1
输出样例 复制
5
完整代码
#include<bits/stdc++.h>
using namespace std;
int main(){
//freopen("/config/workspace/test/test","r",stdin);
int n;
cin>>n;
int a[n];
for(int i=0;i<n;i++){
cin>>a[i];
}
int count=0;
for(int i=1;i<n-1;i++){
if((a[i]>a[i-1]&&a[i]<a[i+1])||(a[i]<a[i-1]&&a[i]>a[i+1])){
count++;
}
}
cout<<count<<endl;
return 0;
}