Cod sursa(job #2063126)

Utilizator AndreiTudorSpiruAndrei Spiru AndreiTudorSpiru Data 11 noiembrie 2017 09:39:28
Problema Subsir 2 Scor 45
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#include <fstream>
#include <climits>
using namespace std;
ifstream f("subsir2.in");
ofstream g("subsir2.out");
int n,cop,el,i,v[5001],l[5001],maxim,j,minim;
int main()
{
    f>>n;
    for(i=1;i<=n;i++)
        f>>v[i];
    l[n]=1;
    for(i=n-1;i>=1;i--)
    {
        for(j=i+1;j<=n;j++)
        if(v[i]<=v[j]){l[i]=l[j]+1;j=n+1;}
        if(l[i]==0)l[i]=1;
        if(l[i]>maxim)maxim=l[i];
    }
    el=INT_MIN;
    cop=INT_MAX;
    g<<maxim<<'\n';
    while(maxim)
    {minim=INT_MAX;
        for(i=1;i<=n;i++)
        {
            if(l[i]==maxim&&v[i]>=el&&v[i]<minim){cop=i;minim=v[i];}
        }
    g<<cop<<" ";
    el=v[cop];
    maxim--;
    }
    return 0;
}