Pagini recente » Cod sursa (job #429080) | Cod sursa (job #2385864) | Cod sursa (job #1279753) | Istoria paginii runda/simulare_baraj_2009/clasament | Cod sursa (job #2284590)
#include <fstream>
using namespace std;
int n,i,j,v[100000],L[100000],urm[100000],Lm,ind;
ifstream f("scmax.in");
ofstream g("scmax.out");
int main()
{
f >> n;
for(i=0;i<n; ++i)
{f >> v[i]; L[i] = 1;}
for(i=n-1;i>=0;--i){Lm=0; ind = -1;
for(j=i+1;j<n;++j)
if(v[i]<v[j]){
if(L[j]>Lm) {Lm = L[j]; ind = j;}}
L[i] += Lm;
urm[i] = ind;
}
for(i=0;i<n;++i)
if(L[i]>Lm) {Lm = L[i]; ind = i;}
g << Lm << "\n";
while(urm[ind]!=-1){
g << v[ind] << " ";
ind = urm[ind];
}
g << v[ind];
return 0;
}