1 solutions
-
1
#include<bits/stdc++.h> using namespace std; int n,a[1010],dp[1010],ans,cnt,k,g[1010]; int main() { while(cin>>a[++n]) { continue; } n--; for(int i=1;i<=n;i++) { dp[i]=1; for(int j=1;j<i;j++) { if(a[i]<=a[j]) { dp[i]=max(dp[i],dp[j]+1); } } ans=max(ans,dp[i]); } cout<<ans<<"\n"; for(int i=1;i<=n;i++) { k=0; while(k<cnt&&g[k]<a[i]) { k++; } g[k]=a[i]; if(k==cnt) { cnt++; } } cout<<cnt; return 0; }
- 1
Information
- ID
- 256
- Time
- 1000ms
- Memory
- 256MiB
- Difficulty
- 7
- Tags
- # Submissions
- 10
- Accepted
- 7
- Uploaded By