Cod sursa(job #2297310)

Utilizator DragescuLeonardDragescuLeonard DragescuLeonard Data 5 decembrie 2018 18:27:51
Problema Subsir crescator maximal Scor 20
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.96 kb
#include <fstream>

using namespace std;

ifstream fin("scmax.in");
ofstream fout("scmax.out");

long long n,a[100010],v[100010],sub[100010],i,j,k,maxim=-1,nr,s,sol[100010],ma;

int main()
{
    fin>>n;
    for(i=1;i<=n;i++)
        fin>>a[i];
    for(i=1;i<=n;i++)
    {
        for(k=1;k<=n;k++)
        v[k]=0;
        nr=a[i];
        s=1;
        for(j=i;j<=n;j++)
        {
            if(nr<a[j])
            {
                nr=a[j];
                s++;
            }
        v[j]=s;

        }
        s=0;
        if(v[n]>maxim)
        {
            for(k=1;k<=n;k++)
                sub[k]=v[k];
            maxim=v[n];
        }
    }
    ma=maxim;
    i=n;
    while(sub[i])
    {
        if(sub[i]==maxim && sub[i-1]==maxim-1 && sub[i]!=0)
        {
            sol[maxim]=a[i];
            maxim--;
        }
        i--;
    }
    fout<<ma<<endl;
     for(i=1;i<=ma;i++)
            fout<<sol[i]<<" ";

}