下面代码可以用来求最长上升子序列(LIS)的长度,如果输入是:5 1 7 3 5 9,则输出是( )。

int a[2023], f[2023];int main(){    int n,i,j,ans = -1;     cin>>n;    for( i=1; i<=n; i++){        cin >> a[i];        f[i] = 1;    }     for( i=1; i<=n; i++)        for( j=1; j<i; j++)            if(a[j] < a[i])                f[i] = max(f[i], f[j]+1);    for( i=1; i<=n; i++){        ans = max(ans, f[i]);        cout << f[i] << " ";    }     cout << ans << endl;    return 0;}
填写答案