Pagini recente » Monitorul de evaluare | Profil Horia_haivas | Profil bubblegumix | Diferente pentru planificare/sponsori intre reviziile 28 si 19 | Cod sursa (job #2133721)
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
ifstream fin("scmax.in");
ofstream fout("scmax.out");
long int n,v[100000],l[100000]={0},i,p,m=1,sol;
fin>>n;
for(i=0;i<n;i++)
{
fin>>v[i];
}
l[n-1]=1;
for(p=n-2;p>=0;p--)
{
for(i=p+1;i<n;i++)
if(v[p]<v[i]&&l[p]<l[i]-1)
l[p]=l[i]-1;
if(!l[p])
l[p]=1;
else
if(l[p]>m)
{
m=l[p];
sol=p;
}
}
fout<<m<<'\n';
for(i=sol;m>0;i++)
if(l[i]==m)
{
fout<<v[i]<<" ";
m--;
}
return 0;
}