Cod sursa(job #1836030)

Utilizator Arina2003Arina Aioanei Arina2003 Data 27 decembrie 2016 18:32:53
Problema Subsir crescator maximal Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.72 kb
#include <iostream>
#include <fstream>

using namespace std;

ifstream f("scmax.in");
ofstream g("scmax.out");

int n,nr,v[100000],t,i,inv,p,sfv,dif,maxd;bool b[2000000000];
struct insf{int in,sf;}pos[1000];
int main()
{
    f>>n;
    for(i=0;i<n;i++)
    {
        f>>nr;
        if(b[nr]==0){b[nr]=1;t++;v[t]=nr;}
    }
    inv=1;
    for(i=1;i<=t+1;i++)
        if(v[i-1]>v[i])
        {
            p++;
            pos[p].in=inv;
            pos[p].sf=i-1;
            inv=i;
        }
    for(i=1;i<=p;i++)
    {
        dif=pos[i].sf-pos[i].in+1;
        if(dif>maxd){maxd=dif;inv=pos[i].in;sfv=pos[i].sf;}
    }
    g<<maxd<<'\n';
    for(i=inv;i<=sfv;i++)
        g<<v[i]<<" ";
    return 0;
}