Pagini recente » Cod sursa (job #1656467) | Cod sursa (job #2980198) | Cod sursa (job #609620) | Cod sursa (job #1370931) | Cod sursa (job #1530109)
#include <fstream>
using namespace std;
ifstream f("scmax.in");
ofstream g("scmax.out");
int a[100000],l[100000],u[100000];
int main()
{
int n,mx=1;
f>>n;
for(int i=1;i<=n;i++)
f>>a[i];
l[1]=1;
for(int i=2;i<=n;i++){
int cmax=0;
for(int j=1;j<i;j++){
if(a[i]>a[j] && l[j]>cmax)
cmax=l[j];
}
l[i]=cmax+1;
mx=max(mx,l[i]);
}
g<<mx<<endl;
for(int i=n;i>=1;i--)
if(mx==l[i])
{
u[i]=1;
mx--;
}
for(int i=1;i<=n;i++)
{
if(u[i]==1)
g<<a[i]<<" ";
}
return 0;
}