Pagini recente » Cod sursa (job #537639) | Cod sursa (job #689286) | Cod sursa (job #2411181) | Cod sursa (job #2186686) | Cod sursa (job #486399)
Cod sursa(job #486399)
#include<fstream.h>
ifstream f("scmax.in");
ofstream g("scmax.out");
int i,h,pmax,max,j,a[100000],v[100000],l[100000],t[100000],n;
int main()
{
f>>n;
for(i=1;i<=n;i++)
f>>v[i];
l[1]=1;
for(i=2;i<=n;i++)
{
max=0;
pmax=0;
for(j=1;j<i;j++)
if(v[i]>v[j] && l[j]>max)
max=l[j],pmax=j;
l[i]=max+1;
t[i]=pmax;
}
max=0;
for(i=1;i<=n;i++)
if(l[i]>max)
{
max=l[i];
pmax=i;
}
g<<max<<'\n';
h=pmax;
a[max+1]=v[h];
for(i=max;i>=1;i--)
{
a[i]=v[t[h]];
h=t[h];
}
for(i=2;i<=max+1;i++)
g<<a[i]<<" ";
return 0;
}