Cod sursa(job #1590051)

Utilizator CipiNisNisioi Ciprian CipiNis Data 4 februarie 2016 17:50:53
Problema Subsir crescator maximal Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.65 kb
#include <fstream>
#define DIM 100001
using namespace std;
ifstream f("scmax.in");
ofstream g("scmax.out");
int v[DIM],n,L[DIM],maxx,mx,t,k;
int main()
{
    int i;
    f>>n;
    for(i=1;i<=n;++i) f>>v[i];
    L[n]=1;
    for(k=n-1;k>0;--k){
        mx=0;
        for(i=k+1;i<=n;++i)
            if(v[i]>v[k] && L[i]>mx)
                mx=L[i];
        L[k]=mx+1;
        if(L[k]>maxx){
            maxx=L[k];
            t=k;
        }
    }
    g<<maxx<<"\n";
    g<<v[t]<<' ';
    for(i=t+1;i<=n;++i){
        if((v[i]>=v[t]) && (L[i]==maxx-1)){
            g<<v[i]<<' ';
            maxx--;
        }
    }
    return 0;
}