蓝桥杯:历年试题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;
}