Cod sursa(job #2063162)

Utilizator DavidDragulinDragulin David DavidDragulin Data 11 noiembrie 2017 09:58:14
Problema Subsir 2 Scor 47
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.91 kb
#include <iostream>
#include <bits/stdc++.h>
using namespace std;
ifstream fin("subsir2.in");
ofstream fout("subsir2.out");
long long i,j,n,a[5005],l[5005],nr,lmax,imax,nri;
int main()
{
    fin>>n;
    for(i=1;i<=n;i++)
        fin>>a[i];
    for(i=n;i>=1;i--)
    {
        for(j=i+1;j<=n;j++)
            if(a[i]<a[j])
            {
                l[i]=1+l[j];
                break;
            }
        if(l[i]==0)
            l[i]=1;
        if(l[i]==lmax&&a[i]<a[imax])
            imax=i;
        if(l[i]>lmax)
        {
            lmax=l[i];
            imax=i;
        }
    }
    fout<<lmax<<'\n';
    while(lmax>=1)
    {
        nr=1e9;
        for(i=1;i<=n;i++)
            if(l[i]==lmax)
                if(nr>a[i])
                {
                    nr=a[i];
                    nri=i;
                }
        fout<<nri<<" ";
        lmax--;
    }
    return 0;
}