Cod sursa(job #1916617)

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

using namespace std;

int ap[100010];

int main()
{
    ifstream fin ("scmax.in");
    ofstream fout ("scmax.out");
    int n,maxi=0,lungmax=0,nr=0,ant=0,afis[100010];
    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)
        {
            afis[nr]=i;
            if (ap[i]<ant)
            {
                if (nr>lungmax)
                    lungmax=nr;
                nr=0;
            }
            nr++;
            ant=ap[i];
        }
    if (nr>lungmax)
        lungmax=nr;
    fout<<lungmax<<'\n';
    for (int i=0; i<lungmax; i++)
        fout<<afis[i]<<' ';
    return 0;
}