Pagini recente » Profil TheLostRevolver | Cod sursa (job #2106370) | Cod sursa (job #2037888) | Cod sursa (job #2661574) | Cod sursa (job #1777164)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("scmax.in");
ofstream g("scmax.out");
int l[100002],n,lmax,poz,a[100002];
int dinamica()
{l[n]=1;
int i,j;
lmax=1;
poz=n;
for(i=n-1;i>=1;i--)
{int maxs=0;
for(j=i+1;j<=n;j++)
if(a[i]<a[j] && l[j]>maxs)
maxs=l[j];
l[i]=maxs+1;
if(l[i]>lmax)
{lmax=l[i];
poz =i;
}
}
return lmax;
}
void subsir()
{for(int i=poz;i<=n;i++)
if(l[i]==lmax && a[i]>=a[poz]){g<<a[i]<<' ';lmax--;}
}
int main()
{f>>n;
for(int i=1;i<=n;i++)
f>>a[i];
g<<dinamica()<<endl;
subsir();
}