Pagini recente » Cod sursa (job #1434678) | Cod sursa (job #301051) | Cod sursa (job #351358) | Cod sursa (job #2797838) | Cod sursa (job #1027832)
#include <iostream>
#include <fstream>
using namespace std;
int n,m,l[1001],a[1001],p[1001],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();
//cout<<m;
tipar();
return 0;
}