Pagini recente » Clasament dupa rating | Cod sursa (job #483791) | Cod sursa (job #974798) | Cod sursa (job #204546) | Cod sursa (job #1334979)
#include<fstream>
#include<algorithm>
using namespace std;
int main()
{
ifstream in("scmax.in");
ofstream out("scmax.out");
int n,i,poz,lmax,j,l[2001],next[2001],x[2001];
in>>n;
for(i=1;i<=n;i++)
in>>x[i];
l[n]=1;
next[n]=1;
for(i=n-1;i>=1;i--)
{
l[i]=1;
next[i]=0;
for(j=i+1;j<=n;j++)
if(x[j]>x[i])
if(l[i]<l[j]+1)
{
l[i]=l[j]+1;
next[i]=j;
}
}
lmax=l[1];
poz=1;
for(i=2;i<=n;i++)
if(l[i]>lmax)
{
lmax=l[i];
poz=i;
}
out<<lmax<<endl;
while(poz>1)
{
out<<x[poz]<<" ";
poz=next[poz];
}
}