问题标题: 酷町堂:1225我那错了

0
0
已解决
梁彦博
梁彦博
初级光能
初级光能
#include<iostream>
using namespace std;
int a[200000],n;
int f[200000],b[200000],ans=1;
int main() {
    while(cin>>n)
    {   
    ans=1;
    for(int i=1;i<=n;i++) cin>>a[i];
    f[n] = 1;
    for(int i=n-1; i>=1; i--) {
        f[i] = 1;
        for(int j=i+1; j<=n; j++)
            if(a[j]>=a[i]&&f[j]+1>f[i]) {
                f[i] = f[j]+1;
                b[i] = j;
            }
        if(f[i]>ans) {
            ans = f[i];
        }
    }
    cout << ans << endl;
    }
    return 0;
}

 

梁彦博在2019-01-26 20:50:57追加了内容

有人吗


0
已采纳
孙艺芳
孙艺芳
高级守护
高级守护

这是 单调递增子序列

应该把第14行if语句中的

a[j]>=a[i]

改为

a[j]>a[i]

 

0
我要回答