讨论 / 为什么只过了八个点,另外两个输出都比答案大一?
tcz1999 2015-10-21 09:39:49
点我顶贴 收藏 删除
#include<stdio.h>

int n,a[105];

int f1[105],f2[105];

inline int maxx(int x,int y){

if(x>y)return x;

else return y;

}

int main(){

scanf("%d",&n);

int i,j;

for(i=1;i<=n;i++)scanf("%d",&a[i]);

for(i=1;i<=n;i++){

f1[i]=1;

for(j=1;j<i;j++)if(a[j]<a[i])f1[i]=maxx(f1[i],f1[j]+1);

}

for(i=n;i>=1;i--){

f2[i]=1;

for(j=n;j>i;j--)if(a[j]<a[i])f2[i]=maxx(f2[i],f2[j]+1);

}

j=0;

for(i=0;i<=n;i++)j=maxx(j,f1[i]+f2[i+1]);

printf("%d",n-j);

return 0;

}

#1 kaitokoreab@2017-01-11 06:34:56
回复 删除
我也是!怎么回事啊我总是差一
查看更多回复
提交回复