Pagini recente » Cod sursa (job #1050229) | Cod sursa (job #558632) | Cod sursa (job #3287090) | Cod sursa (job #541272) | Cod sursa (job #1028430)
#include <fstream>
using namespace std;
ifstream cin("scmax.in");
ofstream cout("scmax.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;
}