Cod sursa(job #2507064)

Utilizator Andrei800Radulescu Andrei Andrei800 Data 9 decembrie 2019 16:05:17
Problema Subsir crescator maximal Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.03 kb
#include <iostream>
#include <fstream>
using namespace std;

int main()
{
    int n,i,j,a,v[100000][3],l,k;
    ifstream in("date.in");
    ofstream out("scmax.out");
    in>>n;
    for(i=1;i<=n;i++)
    {
        in>>v[i][1];
    }
    for(i=n;i>=1;i--)
    {
        a=i;
        v[a][2]=0;
        for(j=i;j<=n;j++)
        {
            if((v[j][1]>v[a][1])&&(v[j][2]>v[a][2]))
            {
                a=j;
            }
        }
        v[i][2]=v[a][2]+1;
    }
    a=1;
    for(i=1;i<=n;i++)
    {
        if(v[i][2]>=v[a][2])
        {
            a=i;
        }
    }
    k=a;
    l=0;
        for(j=a;j<=n;j++)
        {
            if(v[j][1]>v[a][1])
            {
                l++;
                a=j;
            }
        }
        l++;
        out<<l<<endl;
        out<<v[k][1]<< " ";
        for(j=k;j<=n;j++)
        {
            if(v[j][1]>v[k][1])
            {
                out<<v[j][1]<< " ";
                k=j;
            }
        }

    return 0;
}