Cod sursa(job #1836125)

Utilizator Arina2003Arina Aioanei Arina2003 Data 27 decembrie 2016 21:08:02
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[100005],t,i,inv,p,sfv,dif,maxd;bool b[100006];
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;
}