最长不下降子序列
题目在:http://www.我的程序:
程序代码:
#include <stdio.h> #include <stdlib.h> int longest_increasing(int num[],int n) { int lis[100000],j,maxn=0,i; for(i=0;i<n;i++) { if(num[i]==0)continue; lis[i]=1; for(j=0;j<i;j++) if(num[i]>num[j]&&lis[j]+1>lis[i]) lis[i]=lis[j]+1; } for(i=0;i<n;i++) if(maxn<lis[i]) maxn=lis[i]; return maxn; } int main() { int num[100000]={0},n,i,max; scanf('%d',&n);//输入数据数量 for(i=0;i<n;i++) scanf('%d',&num[i]); max=longest_increasing(num,n);//求出连续子段和 printf('%d',max);//打印最大值 system('pause'); return 0; }只得了40分,大家看看我这个错在那里了?