Pagini recente » Cod sursa (job #2633886) | Cod sursa (job #2348470) | Cod sursa (job #1827182) | Cod sursa (job #1613889) | Cod sursa (job #1243907)
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
int v[100001],a[100001],b[100001],i,j,n,smax,macs;
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=macs+1;
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;
}