Cod sursa(job #2058942)

Utilizator nioanaNeagu Ioana nioana Data 6 noiembrie 2017 14:43:42
Problema Subsir crescator maximal Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.51 kb
#include <fstream>
using namespace std;

ifstream f("scmax.in");
ofstream g("scmax.out");

long v[100001],u;
int i,n,j,lmax,p,l[100001],ma;

int main()
{f>>n;
for (i=1;i<=n;i++)f>>v[i];
lmax=1;
p=n;
l[p]=1;
for (i=n-1;i>=1;i--){
    ma=0;
    for (j=i+1;j<=n;j++)
        if (v[i]<v[j]&&l[j]>ma)ma=l[j];
    l[i]=1+ma;
    if (l[i]>lmax){lmax=l[i];p=i;}
}
g<<lmax<<endl<<v[p]<<" ";
lmax--;
u=v[p];
for (i=p+1;i<=n;i++)
    if (v[i]>u&&l[i]==lmax)
        {g<<v[i]<<" ";u=v[i];lmax--;}
return 0;
}