#include<stdio.h>
#include<stdlib.h>
int continuous(int* p)
{
int k=*p,i;
for (i = 0;k==*(p+i); i++,k++)
{
}
return(i);
}
int Max(int* p, int n)
{
int i, m=*p;
for (i = 0; i < n; i++)
{
if (*(p + i) > m)
{
m = *(p + i);
}
}
return(m);
}
int main(void)
{
int n, i;
scanf("%d", &n);
int* p = (int*)malloc((n+1) * sizeof(int));
int* q = (int*)malloc((n+1) * sizeof(int));
*(p + n) = *(q + n) = 0;
for (i = 0; i < n; i++)
{
scanf("%d", p + i);
}
for (i = 0; i < n; i++)
{
*(q + i) = continuous(p + i);
}
printf("%d", Max(q, n));
free(p);
free(q);
return(0);
}
洛谷P1420 最长连号经典解法
最新推荐文章于 2024-02-20 14:30:34 发布