lingyun


私信TA

用户名:15210020303

访问量:71579

签 名:

喝水的鱼

等  级
排  名 26
经  验 15361
参赛次数 8
文章发表 152
年  龄 19
在职情况 学生
学  校 安徽建筑大学
专  业 电气

  自我简介:

程序爱好者

解题思路:

注意事项:

参考代码:

#include<iostream>
using namespace std;
const int M=50000+2;
int a[M]={0};
int check(int i,int j)
{
	int Max,Min;
	Max=Min=a[i];
	for(int k=i;k<=j;k++)
	{
		if(a[k]>Max)
		Max=a[k];
		if(a[k]<Min)
		Min=a[k];
		if((Max-Min)>(j-i))
		return 0;
	}
	if((Max-Min)==(j-i))
	return 1;
	else
	return 0;
}
int main()
{
	int n;
	while(cin>>n)
	{
		for(int i=0;i<n;i++)
		{
			cin>>a[i];
		}
		int ans=0;
		for(int i=0;i<n-1;i++)
		{
			for(int j=i+1;j<n;j++)
			{
				if(check(i,j))
				ans++;
			}
		}
		cout<<ans+n<<endl;
	}
	return 0;
}


 

0.0分

0 人评分

  评论区