[模拟] 牛客小白月赛 B 鹏

 

模拟

//#pragma GCC optimize(2)
#include <cstdio>
#include <iostream>
#include <cstdlib>
#include <cmath>
#include <cctype>
#include <string>
#include <cstring>
#include <algorithm>
#include <stack>
#include <queue>
#include <set>
#include <map>
#include <ctime>
#include <vector>
#include <fstream>
#include <list>
#include <iomanip>
#include <numeric>
using namespace std;
typedef long long ll;

const int MAXN = 1e6 + 10;

int arr[MAXN] = {0}, ans = 0;

int N;

int find (int x)
{
	bool up = false, flot = false, down = false;

	for(;arr[x + 1] > arr[x] && x + 1 < N; x++)
	{
		up = true;
	}
	
	if(up == true)
	{
		while(arr[x + 1] == arr[x] && x + 1 < N)
		{
			x++;
		}
	
		for(;arr[x + 1] < arr[x] && x + 1 < N; x++)
		{
			down = true;
		}
		
		if(down && up)
			ans++;
		
		return x;
	}
	
	return x + 1;
	
}
int main()
{
	ios::sync_with_stdio(false);

	cin.tie(0);     cout.tie(0);

    cin>>N;

    for(int i = 0; i < N; i++)
    {
    	cin>>arr[i];
    }

    for(int i = 0; i < N; i = find(i));
    
    cout<<ans<<endl;

    return 0;
}

 

posted @ 2018-08-19 09:39  张浦  阅读(103)  评论(0编辑  收藏  举报