Pagini recente » Cod sursa (job #2426192) | Cod sursa (job #2949797) | Cod sursa (job #2780843) | Cod sursa (job #2453153) | Cod sursa (job #898386)
Cod sursa(job #898386)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("scmax.in");
ofstream g("scmax.out");
long long n,s[100003],d[100003],l[100003];
void afis(int k, int m)
{
if(m>0)
{
int i=k-1;
while(l[i]!=m-1)
i--;
afis(i,m-1);
g<<s[k]<<" ";
}
g.close();
}
int main()
{
long long i,j,maxx,lgmax=0,e=1;
f>>n;
f>>s[1];l[1]=1;
for(i=2;i<=n;i++)
{f>>s[i];
maxx=0;
for(j=1;j<i;j++)
if(s[j]<s[i]&&l[j]>maxx)
maxx=l[j];
l[i]=maxx+1;
if(l[i]>lgmax) {
lgmax=l[i];
e=i;}
}
g<<lgmax<<endl;
afis(e,lgmax);
f.close();
g.close();
return 0;
}