Pagini recente » Cod sursa (job #1913628) | Cod sursa (job #1683894) | Cod sursa (job #2535804) | Cod sursa (job #1774031) | Cod sursa (job #2674784)
#include <iostream>
#include <fstream>
#define mx 100001
using namespace std;
ifstream fin("scmax.in");
ofstream fout("scmax.out");
int n, v[mx], L[mx], T[mx];
int lmax, st, p, l;
int main()
{
fin>>n;
for(int i=1;i<=n;i++)
fin>>v[i];
for(int i=n;i>=1;i--)
{
l=0;
p=i;
for(int j=i+1;j<=n;j++)
{
if(v[j]>v[i] and L[j]>l)
{
l=L[j];
p=j;
}
}
L[i]=l+1;
T[i]=p;
if(L[i]>lmax)
{
lmax=L[i];
st=i;
}
}
fout<<lmax<<endl;
while(T[st]!=st)
{
fout<<v[st]<<' ';
st=T[st];
}
fout<<v[st];
return 0;
}