Pagini recente » Cod sursa (job #1469727) | Cod sursa (job #2583584) | Cod sursa (job #2100488) | Cod sursa (job #772283) | Cod sursa (job #174988)
Cod sursa(job #174988)
#include<fstream.h>
#define dim 100001
unsigned long v[dim],l[dim],par[dim];
int main()
{ifstream f("scmax.in");
ofstream g("scmax.out");
unsigned long n,max,imax,i,j;
f>>n;
for(i=1;i<=n;++i) f>>v[i];
f.close();
l[n]=1;par[n]=0;
for(i=n-1;i>=1;i--)
{max=imax=0;
for(j=i+1;j<=n;++j)
if((max<l[j])&&(v[i]<v[j]))
max=l[j],imax=j;
l[i]=max+1;par[i]=imax;
}
max=l[1];imax=1;
for(i=2;i<=n;++i)
if(l[i]>max) max=l[i],imax=i;
g<<max<<'\n';
do
{g<<v[imax]<<" ";
imax=par[imax];
}
while(imax);
g<<'\n';
g.close();
return 0;
}