Cod sursa(job #1836166)

Utilizator Arina2003Arina Aioanei Arina2003 Data 27 decembrie 2016 22:04:18
Problema Subsir crescator maximal Scor 20
Compilator cpp Status done
Runda Arhiva educationala Marime 0.8 kb
#include <iostream>
#include <fstream>

using namespace std;
#define nmax 100005
ifstream f("scmax.in");
ofstream g("scmax.out");

int n,nr,v[nmax],t,i,inv,p,sfv,dif,maxd,imax,rep;bool b[nmax];
struct insf{int in,sf,rep;}pos[nmax];
int main()
{

    f>>n;
    for(i=0;i<n;i++)
    {
        f>>v[i];
    }
    inv=0;
    for(i=1;i<=n;i++)
        if(v[i-1]>v[i])
        {
            pos[p].in=inv;
            pos[p].sf=i-1;
            pos[p++].rep=rep;
            inv=i;
            rep=0;
        }
        else if(v[i-1]==v[i]){b[i]=1;rep++;}
    for(i=0;i<p;i++)
    {
        dif=pos[i].sf-pos[i].in-pos[i].rep+1;
        if(dif>maxd){maxd=dif;imax=i;}
    }
     g<<maxd<<'\n';
    for(i=pos[imax].in;i<=pos[imax].sf;i++)
        if(!b[i])g<<v[i]<<" ";
    return 0;
}