Pagini recente » Istoria paginii runda/23zile_1/clasament | Cod sursa (job #1310812) | Cod sursa (job #684969) | Cod sursa (job #281059) | Cod sursa (job #1027872)
#include <iostream>
#include <fstream>
#define DIM 100001
using namespace std;
fstream fin("scmax.in",ios::in);
fstream fout("scmax.out",ios::out);
unsigned long long n,a[DIM],l[DIM],poz[DIM];
int main()
{
int i,j;
fin>>n;
for(i=1;i<=n;i++)
{
fin>>a[i];
}
l[n]=1; poz[n]=-1;
for(i=n-1;i>=1;i--)
{
for(l[i]=1,poz[i]=-1,j=i+1;j<=n;j++)
{
if(a[i]<a[j]&&l[i]<l[j]+1)
{
l[i]=l[j]+1;
poz[i]=j;
}
}
}
int max=l[1], pozmax=1;
for(i=2;i<=n;i++)
{
if(max<l[i])
{
max=l[i];
pozmax=i;
}
}
fout<<max<<'\n';
// fout<<"\nCel mai lung subsir:\n";
for (i=pozmax; i!=-1; i=poz[i])
fout<<a[i]<<' ';
}