Pagini recente » Cod sursa (job #2781434) | Cod sursa (job #2286359) | Cod sursa (job #1019742) | Cod sursa (job #1551610) | Cod sursa (job #1027839)
#include <fstream>
using namespace std;
int n,m,l[100001],a[100001],p[100001],prim;
fstream fin("scmax.in", ios::in);
fstream fout("scmax.out", ios::out);
void tipar()
{
int i;
i=prim;
//fout<<a[i]<<' ';
fout<<m<<'\n';
fout<<a[i]<<' ';
while(p[i]>0)
{
i=p[i];
fout<<a[i]<<' ';
}
}
void citire()
{
int i;
fin>>n;
for(i=1; i<=n; i++)
{
fin>>a[i];
}
}
void subsir()
{
int i,j;
l[n]=1; m=1;
for(i=n-1; i>=1; i--)
{
l[i]=1;
p[i]=0;
for(j=i+1; j<=n; j++)
{
if(a[i]<a[j] && l[i]<=1+l[j])
{
l[i]=1+l[j];
p[i]=j;
}
}
if(m<l[i])
{
m=l[i];
prim=i;
}
}
}
int main()
{
citire();
subsir();
tipar();
return 0;
}