Pagini recente » Cod sursa (job #1221899) | Cod sursa (job #3182918) | Cod sursa (job #1458168) | Cod sursa (job #1098559) | Cod sursa (job #1247538)
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
int v[100001],a[100001],b[100001],i,j,n,smax,macs=0;
ifstream f("scmax.in");
ofstream g("scmax.out");
f>>n;
f>>v[1];
a[1]=1;
smax=1;
for (i=2; i<=n ; i++ )
{
f>>v[i];
macs=0;
for (j=i-1; j>=1 ; j-- )
{
if(v[j]<v[i]&&macs<a[j])
macs=a[j];
}
a[i]=macs+1;
if(macs+1>smax) smax=macs+1;
}
g<<smax;
g<<'\n';
b[smax+1]=2000000001;
macs=smax;
for (i=n; i>=1 ; i-- )
{
if((a[i]==macs)&&v[i]<b[macs+1])
{
b[macs]=v[i];
macs=macs-1;
}
}
for (i=1; i<=smax ; i++ )
g<<b[i]<<" ";
return 0;
}