改错题,就直接上代码吧!
#include<stdio.h>
int A[100],B[100];
int main()
{
int n, i, j, max;
while (scanf("%d", &n) != EOF)
{
for (i= 0; i < n; i++)
{
scanf("%d",&A[i]);
}
B[0]= 1;
for (i= 1; i < n; i++)
{
max= 0;
for (j= 0; j < i; j++)
{
if (A[i] > A[j] && B[j] >= max)//if (A[i] < A[j] || B[j] > max)
{
max= B[j];
}
}
B[i]= max+1;
}
max= B[0];
for (i= 1; i < n; i++)
{
if (max < B[i])
{
max= B[i];
}
}
printf("%d\n",max);
}
return 0;
}
OJ过了的话,各位点个赞吧!