Pagini recente » Cod sursa (job #682619) | Cod sursa (job #1053618) | Cod sursa (job #2611933) | Cod sursa (job #1316727) | Cod sursa (job #1244378)
#include <iostream>
#include <fstream>
using namespace std;
int a[100000],b[100000],c[100000];
int main()
{
int i,n,m,j,p=0;
fstream f("scmax.in",ios::in);
fstream g("scmax.out",ios::out);
f>>n;
for(i=0;i<n;i++)
f>>a[i];
for(i=n-1;i>=0;i--)
{
m=0;
for(j=i+1;j<n;j++)
if(m<b[j] && a[j]>a[i])
{
c[i]=j;
m=b[j];
}
b[i]=m+1;
}
m=0;
for(i=0;i<n;i++)
if(b[i]>m)
{
p=i;
m=b[i];
}
g<<m<<endl;
while(c[p])
{
g<<a[p]<<' ';
p=c[p];
}
g<<a[p];
return 0;
}