1 solutions
-
0
C++ :
#include<iostream> using namespace std; const int N = 30; int a[N],f[N]; int main(){ int k; while (cin>>k && k){ for (int i=1; i<=k; i++) cin>>a[i]; fill(f,f+N,1); for (int i=2; i<=k; i++) for (int j=1; j<=i-1; j++) if (a[j]>=a[i]) f[i]=max(f[i],f[j]+1); int ans=f[1]; for (int i=2; i<=k; i++) ans=max(ans,f[i]); cout<<ans<<endl; } return 0; }
- 1
Information
- ID
- 18656
- Time
- 1000ms
- Memory
- 128MiB
- Difficulty
- (None)
- Tags
- # Submissions
- 0
- Accepted
- 0
- Uploaded By