Pagini recente » Cod sursa (job #3266471) | Cod sursa (job #256392) | Cod sursa (job #776911) | Cod sursa (job #2880228) | Cod sursa (job #874674)
Cod sursa(job #874674)
#include <iostream>
#include<fstream>
using namespace std;
int n,a[100001],vmax,lmax=0,i,j,k,b[100001],p,c[100001],pmax,x[100001];
int main()
{
ifstream fin("scmax.in");
ofstream fout("scmax.out");
fin>>n;
for(i=1;i<=n;++i)
{
fin>>a[i];
}
for(i=1;i<=n;++i)
{
vmax=0;
p=0;
for(j=1;j<i;j++)
{
if(a[i]>a[j] && b[j]>vmax)
{
vmax=b[j];
p=j;
}
}
b[i]=vmax+1;
c[i]=p;
if(b[i]>lmax)
{
lmax=b[i];
pmax=i;
}
}
fout<<lmax<<endl;
k=0;
for(i=pmax;i!=0;i=c[i])
{
k++;
x[k]=a[i];
}
for(i=k;i>=1;i--)
{
fout<<x[i]<<' ';
}
fin.close();
fout.close();
return 0;
}