Cod sursa(job #2134806)

Utilizator Monstergentleman35Ciopraga Razvan Monstergentleman35 Data 18 februarie 2018 12:41:20
Problema Subsir crescator maximal Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.64 kb
#include <bits/stdc++.h>

using namespace std;

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

int n,V[100005],i,lgc,j;
bool ok;
int Q[100005];

bool CautBin(int);

int main()
{
 fin>>n;
 for (i=1;i<=n;i++)
  fin>>V[i];
 for (i=1;i<=n;i++)
 {
  if (!CautBin(i))
  {
   lgc++;
   Q[lgc]=V[i];
  }
 }
 fout<<n-lgc;
 return 0;
}

bool CautBin(int x)
{
 int st,sf,mij,poz1;
 st=1;
 sf=lgc;
 poz1=0;
 mij=(st+sf)/2;
 while (st<=sf)
 {
  if (Q[mij]>V[x])
  {
   poz1=mij;
   sf=mij-1;
  }
  else
   st=mij+1;
  mij=(st+sf)/2;
 }
 if (poz1==0)
  return 0;
 else
 {
  Q[poz1]=V[x];
  return 1;
 }
}