海洋之心


私信TA

用户名:wanggongsheng

访问量:122712

签 名:

等  级
排  名 17
经  验 20533
参赛次数 3
文章发表 163
年  龄 26
在职情况 学生
学  校
专  业 计算机技术

  自我简介:

读研ing,平时不登录dotcpp

解题思路:

 就是找到区间的最大值,最小值,然后再判断是否满足最大值减去最小值+1 等于区间的长度。

但是数据较大。可能是测试数据太水,然后没有超时。

注意事项:

参考代码:

#include<cstdio>
#include<cstring>
#include<algorithm>
#include<iostream>
using namespace std;
const int maxn = 5001;
int a[maxn];
int main(void)
{
	int n,cnt=0;
	cin>>n;
	for(int i=0;i<n;i++) cin>>a[i];
	for(int i=0;i<n;i++)
	{
		int minn=a[i],maxn=a[i];
		for(int j=i;j<n;j++)
		{
			if(a[j]<minn) minn=a[j];
			if(a[j]>maxn) maxn=a[j];
			if(maxn-minn+1==j-i+1) cnt++;
		}
	}
	printf("%d",cnt);
	return 0;	
}


 

0.0分

2 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换

万能编程问答

代码解释器

  评论区