首页 > 其他 > 详细

fvva

时间:2021-03-15 00:08:10      阅读:18      评论:0      收藏:0      [点我收藏+]

1500A Going Home https://codeforces.com/contest/1495/problem/B

#include <iostream>
#include <cstdio>
#include <algorithm>
#include <cstring>
#include <utility>
#include <map>
#include <vector>
#include <queue>
using namespace std;
typedef long long LL;
const int N=1e5+10;
int a[N],up[N],dn[N];
void solve()
{
	int n;
	cin>>n;
	a[0]=a[n+1]=up[0]=dn[n+1]=0;
	for(int i=1;i<=n;i++)
	{
		cin>>a[i];
		if(a[i]>a[i-1])up[i]=up[i-1]+1;
		else up[i]=1;
	}
	for(int i=n;i>=1;i--)
	{
		if(a[i]>a[i+1])dn[i]=dn[i+1]+1;
		else dn[i]=1;
	}
	int pos,maxn=-1;
	int cnt=0;//不连续的最长峰的个数
	for(int i=1;i<=n;i++)maxn=max(maxn,max(up[i],dn[i]));
	for(int i=1;i<=n;i++)
	{
		if(up[i]==dn[i]&&up[i]==maxn)cnt++,pos=i;
		else if (up[i]==maxn||dn[i]==maxn)cnt++,pos=i;
	}
	if(cnt>1){puts("0");return ;}
	if(up[pos]==dn[pos]&&up[pos]%2==1)puts("1");
	else puts("0");
}
int main()
{
	cin.tie(0);ios::sync_with_stdio(false);
    int tests=1;
    //scanf("%d",&tests);
  // cin>>tests;
    //while(~scanf("%d",&n))
    while(tests--)
    {
    	solve();
    }
     return 0;
}

fvva

原文:https://www.cnblogs.com/liv-vil/p/14533592.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!