Pagini recente » Istoria paginii utilizator/huvos | Cod sursa (job #1049658) | Monitorul de evaluare | Cod sursa (job #2563732) | Cod sursa (job #2402431)
#include <fstream>
using namespace std;
ifstream f("scmax.in");
ofstream g("scmax.out");
long long i,N,j,a[100005],Max,l[100005],p,poz,lmax,lg;
int main()
{ f>>N;
for(i=1;i<=N;i++) f>>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];
}
}
g<<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;
g<<a[i]<<" ";
}
}
return 0;
}