Cod sursa(job #1131021)

Utilizator brinzapaulBrinza Paul brinzapaul Data 28 februarie 2014 17:16:51
Problema Subsir crescator maximal Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.84 kb
#include <fstream>

using namespace std;
ifstream fin("scmax.in");
ofstream fout("scmax.out");
int n,v[100],i,j,poz[100], l[100],lmax,ok,pornire;
int main()
{
        fin>>n;
        for(i=1;i<=n;i++)
        fin>>v[i];

    l[n]=1;
    poz[n]=0;
    for(j=n-1;j>=1;j--)
    {
        ok=1;
        for(i=j+1;i<=n&& ok==1;i++)
        {
        if(v[j]>=v[i])
        i++;
    else
    {
        if(l[j+1]!=0)
        {l[j]=l[i]+1;
        poz[j]=i;
        ok=0;}
        else
        {
            l[j]=l[i+1]+1;
        poz[j]=i+1;
        ok=0;

        }
    }
        }
    if(l[j]>lmax)
    {lmax=l[j];
      pornire=j;
        }
}
fout<<lmax<<" ";
fout<<endl;
        fout<<v[pornire]<<" ";
    for(i=pornire;i<=n;i++)
    {
        if(poz[i]!=0)
            fout<<v[poz[i]]<<" ";
    }
    return 0;
}