Pagini recente » Cod sursa (job #2493108) | Cod sursa (job #883656) | Cod sursa (job #450874) | Cod sursa (job #109934) | Cod sursa (job #1028428)
#include <fstream>
using namespace std;
ifstream cin("sclmx.in");
ofstream cout("sclmx.out");
int v[100001], n, i, l[100001], lmx, mx, k, t;
int main()
{
cin>>n;
for(i=1; i<=n; i++) cin>>v[i];
l[n]=1;
for(k=n-1; k>0; k--)
{
mx=0;
for(i=k+1; i<=n; i++)
if(v[i]>=v[k] && l[i]>mx)
mx=l[i];
l[k]=mx+1;
if(l[k]>lmx)
{
lmx=l[k];
t=k;
}
}
cout<<lmx<<'\n'<<v[t]<<" ";
for(i=t+1; i<=n; i++)
if (v[i]>=v[t] && l[i]==lmx-1)
{
cout<<v[i]<<" ";
lmx--;
}
return 0;
}