Cod sursa(job #1639537)

Utilizator alexburdescuBurdescu Alexandru alexburdescu Data 8 martie 2016 12:47:47
Problema Subsir crescator maximal Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.91 kb
#include<iostream>
#include<fstream>
using namespace std;
int i,n,c[100000],cap[100000],z,maxi,j,dif[100000];
long long a[100009];
ifstream fin("scmax.in");
ofstream fout("scmax.out");
int main ()
{
    fin>>n;
    z=1;
    c[z]=1;
    fin>>a[1];
    for(i=2;i<=n;i++)
    {
        fin>>a[i];
        if(a[i]>a[i-1])
        {
            c[z]++;
        }
        else if(a[i]<a[i-1])
        {
            cap[z]=i;
            z++;
            c[z]++;
        }
        else if(a[i]==a[i-1])
        {
            dif[z]++;
        }
    }
    cap[z]=n;
    maxi=0;
    for(i=1;i<=z;i++)
    {
        if(c[i]>maxi)
        {
            j=i;
            maxi=c[i];
        }
    }
    fout<<maxi<<"\n";
    for(i=cap[j]-j-dif[j];i<=cap[j];i++)
    {
        if(a[i]!=a[i-1])
        {
        fout<<a[i]<<" ";
        }
    }
    fin.close();
    fout.close();
    return 0;
}