Pagini recente » Cod sursa (job #2708041) | Cod sursa (job #2051571) | Cod sursa (job #2356572) | Cod sursa (job #155596) | Cod sursa (job #1715216)
#include <fstream>
using namespace std;
int n,i,j,a[100010],l[100010],lmax,ma;
int main()
{
ifstream f ("scmax.in");
ofstream g ("scmax.out");
f>>n;
for(i=1; i<=n; i++)
f>>a[i];
l[n]=1;
for(i=n-1; i>=1; i--)
{
lmax=0;
for(j=i+1; j<=n; j++)
if(a[i]<a[j] && l[j]>lmax)
lmax=l[j];
l[i]=lmax+1;
}
int poz;
ma=1;
for(i=1; i<=n; i++)
if(l[i]>ma)
{
ma=l[i];
poz=i;
}
g<<ma<<'\n';
int u=0;
for(i=poz; i<=n; i++)
if(a[i]>u && l[i]==ma)
{
g<<a[i]<<" ";
u=a[i];
ma--;
}
return 0;
}