这是一道中文的题目,题意我就不多说了。看其他人的解题报告这题有好多种解题方法,我先介绍我自己的思路。
在给定的一连串数据中如果前一项比后一项小的话就加一。
#include<stdio.h>
int main()
{
int n,i,j,a,ans,t[100006];
while(~scanf("%d",&n))
{
ans=0;
for(i=1;i<=n;i++)
{
scanf("%d",&a);
for(j=1;j<=ans;j++)
if(a<=t[j])
{
t[j]=a;
break;
}
if(j==ans+1)
t[++ans]=a;
}
printf("%d\n",ans);
}
return 0;
}