Pagini recente » Cod sursa (job #118262) | Cod sursa (job #1018679) | Cod sursa (job #1601212) | Istoria paginii runda/concurs_2014 | Cod sursa (job #1734621)
#include<iostream>
#include<fstream>
using namespace std;
long long int v[100001],L[100001],n;
ifstream f("scmax.in");
ofstream g("scmax.out");
void afiseaza(int maxt,int pm)
{
if(pm>0)
{
int k=pm-1;
while(L[k]!=maxt-1 && k>0)
k--;
afiseaza(maxt-1,k);
g<<v[pm]<<" ";
}
}
int main()
{
int m,maxt=1,pm=1,i,j;
f>>n;
for(i=1; i<=n; i++)
{
f>>v[i];
L[i]=1;
}
for(i=2; i<=n; i++)
{
m=0;
for(j=1; j<i; j++)
if(v[i]>v[j] && L[j]>m)
m=L[j];
L[i]=m+1;
if(L[i]>maxt)
{
maxt=L[i];
pm=i;
}
}
g<<maxt<<endl;
afiseaza(maxt,pm);
f.close();
g.close();
return 0;
}