Pagini recente » Istoria paginii runda/temahashuri_9_17_10/clasament | Cod sursa (job #442551) | Istoria paginii runda/34554e | Cod sursa (job #964131) | Cod sursa (job #948215)
Cod sursa(job #948215)
#include <iostream>
#include <fstream>
#include <cstdio>
using namespace std;
ifstream f("scmax1.in");
long mx,n,M,a[10000],l[100000],m,p,ult;
int main()
{ int i,j;
f>>n;
for(i=1;i<=n;i++) f>>a[i];
for(i=n;i>=1;i--)
{M=0;
for(j=i+1;j<=n;j++)
if(M<l[j]&&a[i]<a[j]) M=l[j];
l[i]=M+1;
if(l[i]>m) {m=l[i];
p=i;}
}
mx=l[1];
for(j=2;j<=n;j++)
if(l[j]>mx) mx=l[j];
cout<<mx<<endl;
cout<<a[p]<<" "; ult=a[p];
m--;
for(i=p+1;i<=n;i++)
if(a[i]>ult&&m==l[i])
{cout<<a[i]<<" ";
m--;
ult=a[i];
}
f.close();
return 0;
}