Cod sursa(job #1328305)

Utilizator testulescuLitopescu Chirciu testulescu Data 28 ianuarie 2015 10:57:29
Problema Subsir crescator maximal Scor 20
Compilator cpp Status done
Runda Arhiva educationala Marime 1.14 kb
#include <fstream>

using namespace std;

int main()
{
    ifstream fin("scmax.in");
    ofstream fout("scmax.out");
    long long a,b,n,i,s[100000],s2[100000],counter=0,gasit=0,maxim=0;
    fin>>n;
    fin>>a;
    s[0]=a;
    for(i=1; i<n; i++)
    {
        fin>>b;
        if(b!=a)
        {
            if(b>a)
            {
                counter++;
                if(gasit==1)
                {
                    gasit=0;
                    s[counter]=a;
                    counter++;
                }
                s[counter]=b;
            }
            else
            {
                gasit=1;
                if(counter>maxim)
                {
                    for(i=0; i<=counter; i++)
                        s2[i]=s[i];
                    maxim=counter;
                }
                counter=-1;
            }
        }
        a=b;
    }
    if(maxim==0||counter>maxim)
    {
        maxim=counter;
        for(i=0; i<=counter; i++)
            s2[i]=s[i];
    }
    fout<<maxim+1<<"\n";
    fout<<s2[0];
    for(i=1; i<=maxim; i++)
        fout<<" "<<s2[i];
    return 0;
}