Pagini recente » Cod sursa (job #919061) | Cod sursa (job #1361326) | Cod sursa (job #2442664) | Cod sursa (job #2902575) | Cod sursa (job #893784)
Cod sursa(job #893784)
#include <fstream>
#define ul unsigned long
using namespace std;
ifstream fin("scmax.in");
ofstream fout("scmax.out");
long long v[100000],M[100000];
unsigned long max1,n,k,L[100000],mx,t;
int main(){
fin>>n;
for(ul i=1;i<=n;i++)
fin>>v[i];
L[n]=1;
for( k=n-1;k>=1;k--)
{
mx=0;
for(ul i=k+1;i<=n;i++)
if(v[i]>v[k] && L[i]>mx)
mx=L[i];
L[k]=mx+1;
if(L[k]>max1)
max1=L[k],t=k;
}
fout<<max1<<"\n"<<v[t]<<" ";
for(ul i=t+1;i<=n;i++)
if(v[i]>=v[t] && L[i]==max1-1)
fout<<v[i]<<" ", max1--;
fout<<"\n";
return 0;
}