Cod sursa(job #2193125)

Utilizator Stoica_TudorStoica Tudor Stoica_Tudor Data 8 aprilie 2018 22:26:48
Problema Subsir crescator maximal Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 1.11 kb
#include <iostream>

using namespace std;
int n,v[1002],h[1002],r[1002];
void input()
{
    cin>>n;
    for(int i=1;i<=n;i++)
        cin>>v[i];
}
int main()
{
int maxim=-1,indice=0;
    input();
    int minim=100000;
    for(int i=1;i<=n;i++)
    {
        if( v[i]<minim )
        {
            minim=v[i];
            h[i]=1;
            continue;
        }

        else
        {
            for(    int j=i-1; j>=1;   j--)
            {
                int maxi=-1;
                if( v[j] < v[i] )
                {
                    if( h[j]>maxi ) maxi=h[j];
                }

                h[i]=maxi+1;
                if(  h[i]   > maxim)
                        maxim=h[i],indice=i;
            }
        }
    }



int maxim2=maxim;

 cout<<maxim<<endl;

    /*for(   int j=n;  maxim2!=0 and j>=1;   j--)
 {
     if(    h[j]==maxim2   )
     {
         r[maxim2]=h[j];
         maxim2--;
     }
 }
 for(int i=1;i<=maxim;i++)
 {
     cout<<r[i]<<" ";
 }*/
 for(int i=1;i<=n;i++)
 {
     cout<<h[i]<<" ";
 }
    return 0;
}
/*
6
8 1 3 5 2 9

*/