Pagini recente » Cod sursa (job #1873307) | Cod sursa (job #2781483) | Cod sursa (job #967897) | Cod sursa (job #2063566) | Cod sursa (job #1806901)
#include<iostream>
#include<climits>
#include<fstream>
#define MAX 100001
using namespace std;
fstream fin("scmax.in",ios::in),fout("scmax.out",ios::out);
int l[MAX],p[MAX],x[MAX],n,v[MAX];
int main()
{
int i,j,max=INT_MIN,maxi=0,k=0,cate=0;
fin>>n;
for(i=1;i<=n;i++)
{
fin>>x[i];
l[i]=1;
for(j=1;j<i;j++)
{
if(x[i]>x[j] && l[j]+1>l[i])
{
l[i]=l[j]+1;
p[i]=j;
}
}
if(max<l[i])
{
max=l[i];
maxi=i;
}
cout<<p[i]<<" ";
}
for(i=maxi;i>=1;i=p[i])
{
v[++k]=x[i];
}
fout<<k<<'\n';
for(i=k;i>=1;i--)
{
fout<<v[i]<<" ";
}
fin.close();
fout.close();
return 0;
}