Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
140314 | 赵德明 | 导弹拦截 | C++ | 通过 | 100 | 69 MS | 488 KB | 571 | 2024-03-30 14:24:16 |
#include<bits/stdc++.h> using namespace std; int a[30005],n=1,dp[50005]; int main(){ while(cin>>a[n]){ n++; } n-=1; for(int i=1;i<=n;i++){ for(int j=1;j<i;j++){ if(a[i]<a[j]){ dp[i]=max(dp[i],dp[j]+1); } } } int maxn=0; for(int i=1;i<=n;i++){ maxn=max(maxn,dp[i]); } cout<<maxn+1<<endl; memset(dp,0,sizeof(dp)); for(int i=1;i<=n;i++){ for(int j=1;j<i;j++){ if(a[j]<a[i]){ dp[i]=max(dp[i],dp[j]+1); } } } maxn=0; for(int i=1;i<=n;i++){ maxn=max(maxn,dp[i]); } cout<<maxn+1; return 0; }