Cod sursa(job #1621759)

Utilizator DaniellDa Vinci Daniell Data 29 februarie 2016 21:26:29
Problema Subsir crescator maximal Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.76 kb
#include <fstream>

using namespace std;

ifstream fin("scmax.in");
ofstream fout("scmax.out");
int n,i,a[100001],l[100001],maxx,start,refer;
void citeste()
{fin>>n;
for(i=1;i<=n;i++)
    fin>>a[i];
fin.close();
}
void cautare()
{int j=1;
    while(j<=n)
    {refer=a[j];
        for(i=j;i<=n;i++){
            if(refer<a[i])
            {refer=a[i];l[j]++;}}
    j++;
    }
}
void maxim()
{maxx=-2;
    for(i=1;i<=n;i++)
    {
        if(l[i]>maxx){maxx=l[i];start=i;}
    }
}
void scriere()
{refer=a[start];
    fout<<maxx<<"\n"<<refer<<" ";
    for(i=start+1;maxx>0;i++)
    {
        if(a[i]>refer){fout<<a[i]<<" ";maxx--;refer=a[i];}
    }
}
int main()
{
    citeste();
    cautare();
    maxim();
    scriere();
    return 0;
}