Pagini recente » Cod sursa (job #876503) | Cod sursa (job #3130960) | Cod sursa (job #1297671) | Cod sursa (job #2219527) | Cod sursa (job #1713223)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("scmax.in");
ofstream g("scmax.out");
int v[100005], l[100005], ant[100005], n, i, j, lmax, smax, pmax, x[100005], p;
int main()
{ f>>n;
for(i=1;i<=n;i++)
f>>v[i];
for(i=1;i<=n;i++)
{ lmax=0;
for(j=1;j<=i-1;j++)
{
if(v[i]>v[j] && l[j]>lmax)
{ lmax=l[j];
ant[i]=j;
}
}
l[i]=lmax+1;
if(l[i]>smax)
{ smax=l[i];
pmax=i;
}
}
/*for(i=1;i<=n;i++)
cout<<ant[i]<<' ';*/
g<<smax<<'\n';
for(i=pmax;i>=1;i=ant[i])
{ p++;
x[p]=v[i];
}
for(i=p;i>=1;i--)
g<<x[i]<<' ';
return 0;
}