Cod sursa(job #1254314)

Utilizator codi22FMI Condrea Florin codi22 Data 2 noiembrie 2014 15:23:00
Problema Subsir crescator maximal Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.93 kb
#include <iostream>
#include <cstdio>
using namespace std;
int s,d,mij,a,V[100000],P[100000],n,lungime;
int main()
{
    freopen("scmax.in","r",stdin);
    freopen("scmax.out","w",stdout);
    scanf("%ld",&n);
    for (int i=1;i<=n;i++)
    {
        scanf("%d",&a);
        if (V[lungime]<a)
        {
            lungime++;
            V[lungime]=a;
            P[i]=lungime;
        }
        else
        {
          s=1;
          d=lungime;
          do
          {
              if (s==d)
              {
                  V[s]=a;
                  P[i]=s;
              }
              else
              {
                  mij=(s+d)/2;
                  if (V[i]<a) s=mij+1;
                  else if (V[i]>a) d=mij;
                  else break;
              }
          }
          while (s!=d);
        }
    }
    printf("%d\n",lungime);
  for (int i=1;i<=lungime;i++)
    printf("%d ",V[i]);
}