Cod sursa(job #2063149)

Utilizator nicholascantarNicholas David Cantar Gogitidze nicholascantar Data 11 noiembrie 2017 09:51:05
Problema Subsir 2 Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.76 kb
#include <fstream>

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

    l[n]=1;
    min2=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];
    }
    /*for(i=1;i<=n;i++)
        fout<<l[i]<<" ";*/
    fout<<max1<<'\n';
    while(max1)
    {
        min1=1000001;
        for(i=1;i<=n;i++)
        if(l[i]==max1&&v[i]<min1) {min1=v[i];ct=i;}
        fout<<ct<<" ";
        max1--;
    }
    return 0;
}