Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
140336 林泽豪 导弹拦截 C++ 通过 100 35 MS 308 KB 472 2024-03-30 14:30:47

Tests(10/10):


#include<bits/stdc++.h> using namespace std; const int N=110000; int w[N],f[N],p[N],ps=0,maxn=0,n; int main(){ while(cin>>w[++n]){ int s=1;bool k=0; f[n]=1; for(int i=1;i<=ps;i++){ if(p[i]>=w[n]&&(!k||(p[i]<p[s]&&k))){ k=1; s=i; } } if(k) p[s]=w[n]; else p[++ps]=w[n]; } for(int i=n-1;i>=1;i--){ for(int j=n;j>i;j--){ if(w[i]>=w[j])f[i]=max(f[i],f[j]+1); maxn=max(maxn,f[i]); } } cout<<maxn<<endl<<ps; }


测评信息: