1 solutions
-
0
C++ :
#include <cstdio> #define MAXN 1005UL #define Max(a,b) ((a)>(b)?(a):(b)) using namespace std; int n; int a[MAXN]; int f[MAXN]; int main(){ int i,j; int ans=0; scanf("%d",&n); for(i=1;i<=n;++i) scanf("%d",&a[i]); for(i=1;i<=n;++i){ if(a[i]>i) continue; f[i]=1; for(j=1;j<=i;++j){ if(f[j]+1>f[i]&&i-j>=a[i]-a[j]&&a[i]>a[j]) f[i]=f[j]+1; } ans=Max(ans,f[i]); } printf("%d",ans); }
- 1
Information
- ID
- 18453
- Time
- 1000ms
- Memory
- 128MiB
- Difficulty
- (None)
- Tags
- # Submissions
- 0
- Accepted
- 0
- Uploaded By