Pagini recente » Cod sursa (job #2636342) | Cod sursa (job #591822) | Cod sursa (job #1129012) | Cod sursa (job #1000416) | Cod sursa (job #2402062)
#include <fstream>
using namespace std;
ifstream fin("scmax.in");
ofstream fout("scmax.out");
int i,N,j,a[100005],Max,l[100005],p,poz,lmax,lg;
int main()
{ fin>>N;
for(i=1;i<=N;i++) fin>>a[i];
l[N]=1;
for(i=N-1;i>=1;i--)
{
Max=0;
for(j=i+1;j<=N;j++)
if(l[j]>Max && a[i]<a[j])
Max=l[j];
l[i]=Max+1;
if(l[i]>lmax)
{poz=i;
lmax=l[i];
}
}
fout<<lmax<<'\n';
p=poz;
lg=l[poz];
for(i=poz;i<=N;i++)
{ if((l[i]==lg-1 && a[i]>a[p]) || i==poz)
{ lg=l[i];
p=poz;
fout<<a[i]<<" ";
}
}
return 0;
}