Cod sursa(job #1916737)

Utilizator ianiIani Biro iani Data 9 martie 2017 10:15:29
Problema Subsir crescator maximal Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.85 kb
#include <iostream>
#include <fstream>

using namespace std;

unsigned long long int ap[2000010],afis[2000010];

int main()
{
    ifstream fin ("scmax.in");
    ofstream fout ("scmax.out");
    unsigned long long int n,maxi=0,lungmax=0,nr=0,ant=0;
    fin>>n;
    for (int i=1; i<=n; i++)
    {
        int x;
        fin>>x;
        ap[x]=i;
        if (x>maxi)
            maxi=x;
    }
    for (int i=1; i<=maxi; i++)
        if (ap[i]!=0)
        {
            if (ap[i]<ant)
            {
                if (nr>lungmax)
                    lungmax=nr;
                nr=0;
            }
            else
                afis[nr]=i;
            nr++;
            ant=ap[i];
        }
    if (nr>lungmax)
        lungmax=nr;
    fout<<lungmax<<'\n';
    for (int i=0; i<lungmax; i++)
        fout<<afis[i]<<' ';
    return 0;
}