Cod sursa(job #2063293)

Utilizator AndreiTudorSpiruAndrei Spiru AndreiTudorSpiru Data 11 noiembrie 2017 10:34:53
Problema Subsir 2 Scor 52
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.73 kb
#include <fstream>

using namespace std;
int lmax,v[5010],l[5010],min1,max1,n,i,j,ct,min2,el;
int main()
{
    ifstream f ("subsir2.in");
    ofstream g ("subsir2.out");
    f>>n;
    for(i=1;i<=n;i++)
        f>>v[i];

    l[n]=1;
    for(i=n-1;i>=1;i--)
    {
        ct=0;
        min2=1000001;
        for(j=i+1;j<=n;j++)
        {
            if(v[j]>=v[i]&&v[j]<=min2) {min2=v[j];ct=j;}
        }
         l[i]=l[ct]+1;
        if(l[i]>max1) max1=l[i];
    }

    g<<max1<<'\n';
    el=-1000001;
    while(max1)
    {
        min1=1000001;
        for(i=1;i<=n;i++)
        if(l[i]==max1&&v[i]<=min1&&v[i]>=el) {min1=v[i];ct=i;}
        g<<ct<<" ";
        el=v[ct];
        max1--;
    }
    return 0;
}