Pagini recente » Monitorul de evaluare | Cod sursa (job #2791270) | Cod sursa (job #1780560) | Cod sursa (job #794245) | Cod sursa (job #1810920)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("scmax.in");
ofstream fout("scmax.out");
const int Nmax=100005;
int N,X[Nmax],DP[Nmax],Max,Max2;
void Read()
{
fin>>N;
for(int i=1;i<=N;++i)
fin>>X[i];
}
void Solve()
{
for(int i=1;i<=N;++i)
{
Max=0;
for(int j=1;j<=N;++j)
if(X[j]<X[i] && DP[j]>Max)
Max=DP[j];
DP[i]=1+Max;
}
for(int i=1;i<=N;++i)
{
if(DP[i]>Max2)
Max2=DP[i];
}
fout<<Max2;
}
int main()
{
Read(); Solve();
return 0;
}