4 solutions
-
4
#include<bits/stdc++.h> using namespace std; const int N=1010; int f[N],a[N]; int main() { int n; cin>>n; for(int i=1;i<=n;i++) { cin>>a[i]; } int res=0; for(int i=1;i<=n;i++) { f[i]=1; for(int j=1;j<i;j++) { if(a[i]>a[j]) { f[i]=max(f[i],f[j]+1); } } res=max(res,f[i]); } cout<<res; return 0; }
-
1
#include<bits/stdc++.h> using namespace std; const int N=1010; int a[N],f[N]; int main(){ int n; cin>>n; for(int i=1;i<=n;i++) { cin>>a[i]; } for(int i=1;i<=n;i++) { f[i]=1; for(int j=1;j<i;j++) { if(a[i]>a[j]) { f[i]=max(f[i],f[j]+1); } } } int zuida=1; for(int i=1;i<=n;i++) { zuida=max(f[i],zuida); } cout<<zuida; return 0; }
-
-2
#include<bits/stdc++.h> using namespace std; const int N=1e5; int a[N]; int dp[N]; int main(){ int n; cin>>n; for(int i=1;i<=n;i++) { cin>>a[i]; } 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[i],dp[j]+1); } } int jishu=0; for(int i=1;i<=n;i++) { jishu=max(dp[i],jishu); } cout<<jishu; return 0; }
-
-3
#include<bits/stdc++.h> using namespace std; const int N=1010; int f[N] vector<int> a[N]; int main() { int n; cin>>n; for(int i=1;i<n;i++) { cin>>a[i]; } char res=1; for(int i=0;i<n*n;i++) { f=1; for(int j=1;j<=f;j++) { if(f[i]<a[j]) { a[i]=min(a[i],a[j]+1); } } f=min(res,f[a]); } cout<<res<<" "<<f; return 0; }
- 1
Information
- ID
- 975
- Time
- 1000ms
- Memory
- 256MiB
- Difficulty
- 5
- Tags
- (None)
- # Submissions
- 78
- Accepted
- 23
- Uploaded By