Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
112124 | 曾煦翔 | 求最长不下降序列 | C++ | 解答错误 | 0 | 12 MS | 252 KB | 576 | 2023-11-25 10:35:23 |
#include <bits/stdc++.h> using namespace std; int dp[1005]; int a[1005]; int main() { int n; cin >> n; for(int i = 1;i <= n;i++) cin >> a[i]; int m = 0; for(int i = 0;i < n;i++) { dp[i] = 1; for(int j = 0;j < i;j++) { if(a[i] >= a[j]) dp[i] = max(dp[i] , dp[j] + 1); } m = max(m , dp[i]); } cout << "max=" << m << endl; int b[1005]; int c = 0; for(int i = n - 1;i >= 0;i--) { if(dp[i] == m) { b[c] == a[i]; c++; m--; } } for(int i = c - 1;i >= 0;i--) cout << b[i] << " "; return 0; }