Cod sursa(job #2063125)

Utilizator alexilasiAlex Ilasi alexilasi Data 11 noiembrie 2017 09:38:14
Problema Subsir 2 Scor 45
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#include <fstream>
#include <climits>
#define inf INT_MAX
using namespace std;

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

int n,i,a[5001],l[5001],j,Max,k,poz,Min;

int main()
{
    fin>>n;
    for(i=1;i<=n;i++)
        fin>>a[i];
    for(i=n;i>0;i--)
    {
        l[i]=1;
        for(j=i+1;j<=n;j++)
            if(a[i]<=a[j]&&l[i]<l[j]+1)
                l[i]=l[j]+1;
    }
    for(i=1;i<=n;i++)Max=max(Max,l[i]);
    fout<<Max<<'\n';
    for(k=Max;k>0;k--)
    {
        Min=inf;
        for(i=poz+1;i<=n;i++)
            if(l[i]==k&&a[i]<Min)
        {
            Min=a[i];
            poz=i;
        }
        fout<<poz<<" ";
    }
    return 0;
}