Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
140757 | 刘嘉柚 | 最长不下降子序列 | C++ | 解答错误 | 10 | 172 MS | 376 KB | 661 | 2024-03-31 08:44:08 |
#include<cstdio> #include<iostream> using namespace std; int v[10005],f[10005],g[10005]={0,1},maxn,minn; int main() { int i=1; while(~scanf("%d",&v[i])) { f[i]=g[i]=1; for(int j=1;j<i;j++) { if(v[i]<=v[j]) { f[i]=max(f[i],f[j]+1); } if(v[i]>v[j]) { g[i]=max(g[i],g[j]+1); } } if(f[i]>maxn) { maxn=f[i]; } if(g[i]>minn) { minn=g[i]; } i++; } printf("%d\n",maxn); return 0; }