下面代码可以用来求最长上升子序列(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;}