Cod sursa(job #2131010)

Utilizator 53215343214Nejneriu Mihai 53215343214 Data 14 februarie 2018 10:39:40
Problema Subsir crescator maximal Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.84 kb
#include <iostream>
#include <fstream>
using namespace std;
int a[100001],b[100001],c[100001];
int main()
{
    ifstream f("scmax.in");
    ofstream g("scmax.out");
    int n,i,j,maxim,maximmaxim=0,maximi,maximmaximi;
    f>>n;
    for (i=1;i<=n;i++)
    f>>a[i];
    b[n]=1;
    maxim=1;
    c[n]=-1;
    for (i=n-1;i>=1;i--)
    {
        maxim=0;
        maximi=-1;
        for (j=i+1;j<=n;j++)
            if (a[i]<a[j]&&b[j]>maxim) {
                    maxim=b[j];
                                         maximi=j;
            }
        b[i]=1+maxim;
        c[i]=maximi;
        if (maximmaxim<b[i]) {maximmaxim=b[i];
            maximmaximi=i;}
    }
    maxim=b[1];
    maximi=1;
    g<<maximmaxim<<'\n';
    while (maximmaximi!=-1)
    {
        g<<a[maximmaximi]<<" ";
        maximmaximi=c[maximmaximi];
    }
}