Pagini recente » Cod sursa (job #3299277) | Cod sursa (job #2127421) | Cod sursa (job #540253) | Cod sursa (job #3127246) | Cod sursa (job #2129827)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("scmax.in");
ofstream g("scmax.out");
int N,i,a[1005],lmax,L[1005],Max,poz,ult,nr,b[1005],j;
int main()
{
f>>N;
for(i=1; i<=N; i++) f>>a[i];
L[i]=1;
lmax=1;
for(i=2; i<=N; i++)
{
Max=0;
for(j=i-1; j>=1; j--)
{
if(Max<L[j]&&a[i]>a[j]) Max=L[j];
L[i]=1+Max;
if(L[i]>lmax)
{
lmax=L[i];
poz=i;
}
}
}
nr=1;
b[nr]=a[poz];
ult=a[poz];
lmax--;
for(i=poz-1; i>=1; i--)
{
if(a[i]<ult&&L[i]==lmax)
{
nr++;
b[nr]=a[i];
lmax--;
ult=a[i];
}
}
g << nr << '\n';
for(i=nr; i>=1; i--) g<<b[i]<<" ";
return 0;
}