Cod sursa(job #2365786)

Utilizator Vlad29Graure Vlad-Stefan Vlad29 Data 4 martie 2019 16:23:36
Problema Subsecventa de suma maxima Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.58 kb
#include <iostream>
#include <fstream>
using namespace std;

int main()
{
    ifstream in("scmax.in");
    ofstream out("scmax.out");
    int v[100],l[100]={0},i,j,n,m,p=0;
    cin>>n;
    for(i=1;i<=n;i++)cin>>v[i];
    for(i=1;i<=n;i++){m=0;
        for(j=i+1;j<=n;j++){
            if(v[j]>v[i]&&l[j]>m)m=l[j];}
        l[i]=m+1;}

    m=0;p=0;
    for(i=1;i<=n;i++)if(l[i]>m){m=l[i];p=i;}
    cout<<m<<endl;
    cout<<v[p]<<" ";
    for(i=p;i<=n-1;i++)
        if(v[i]>v[p]&&m-1==l[i]){cout<<v[i]<<" ";m--;}

    in.close();
    out.close();
    return 0;
}