Pagini recente » Cod sursa (job #2405733) | Cod sursa (job #459534) | Cod sursa (job #297519) | Cod sursa (job #1963427) | Cod sursa (job #553007)
Cod sursa(job #553007)
using namespace std;
#include<iostream>
#include<fstream>
#include<cstdio>
#define nmax 30010
#define oo 0x3f3f3f3f
long long N;
//int a[nmax];
int dp[nmax];
//int M[nmax];
//int P[nmax];
long long m[nmax];
long long X[nmax];
ofstream fout("subs.out");
void solve()
{ int lg=0;
long long dif=oo;
long long i,j,ans;
for(i=1;i<=N;i++)
{
ans=0;
m[i]=0;
for(j=1;j<i;j++)
{
if(X[j]<X[i])
if(ans<dp[j])
{ //ans=max(ans,dp[j]);
ans=dp[j];
m[i]=max(m[j],X[i]-X[j]);
}
else if(ans==dp[j])
{
m[i]=min(m[i],max(m[j],X[i]-X[j]));
}
}
dp[i]=ans+1;
if(dp[i]>lg)
{
lg=dp[i];
dif=m[i];
}
else
if(dp[i]==lg && dif>m[i])
{dif=m[i];
}
}
// cout<<lg<<" "<<dif<<"\n";
printf("%d \n",lg);
}
void cit()
{
scanf("%lld",&N);
int i;
for(i=1;i<=N;i++)
{
scanf("%lld",&X[i]);
}
}
int main()
{
freopen("scmax.in","r",stdin);
freopen("scmax.out","w",stdout);
cit();
solve();
return 0;
}