蓝桥杯:历年试题PREV-7— 连号区间数

蓝桥杯:历年试题PREV-7— 连号区间数

符合条件的序列是连续递增数列。因此查找所有满足最大值最小值之差+1是数列元素个数的可能数列。

#include<stdio.h>
#include<stdlib.h>
int main(int argc,char **argv)
{
	int cnt,i,j;
	scanf("%d",&cnt);
	int *array=(int*)calloc(cnt,sizeof(cnt));
	for(i=0;i<cnt;i++)
		scanf("%d",&array[i]);
	int sum=0;
	for(i=0;i<cnt;i++)
	{
		sum++;
		int max=array[i],min=max;
		for(j=i+1;j<cnt;j++)
		{
			max=__max(max,array[j]);
			min=__min(min,array[j]);
			if(max-min==j-i)
				sum++;
		}
	}
	printf("%d\n",sum);
	free(array);
	return EXIT_SUCCESS;
} 

蓝桥杯:历年试题PREV-7— 连号区间数

 

END