3 条题解
-
-1
#include<bits/stdc++.h> using namespace std; int a[1010]; int dp[1010]; int wshisgcxdog[1010]; int main(){ int n=1,ans=0; while(cin>>a[n++]); n-=2;wshisgcxdog[1]=a[1]; dp[1]=1; for(int i=2;i<=n;i++){ dp[i]=1; for(int j=1;j<i;j++){ if(a[i]<=a[j]){ dp[i]=max(dp[j]+1,dp[i]); } } } for(int i=1;i<=n;i++){ ans=max(dp[i],ans); } cout<<ans<<endl; int xt=1; for(int i=2;i<=n;i++){ int t=0; for(int j=1;j<=xt;j++){ if(wshisgcxdog[j]>=a[i]){ t=1; wshisgcxdog[j]=a[i]; break; } } if(t==0){ xt++; wshisgcxdog[xt]=a[i]; } } cout<<xt; return 0; }注意数组名字
信息
- ID
- 208
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 9
- 标签
- (无)
- 递交数
- 86
- 已通过
- 9
- 上传者