Pagini recente » Cod sursa (job #3001804) | Cod sursa (job #2652795) | Cod sursa (job #1978959) | Cod sursa (job #1286810) | Cod sursa (job #893777)
Cod sursa(job #893777)
#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;
}