সোমবার, ২১ আগস্ট, ২০১৭

Lower bound by using binary search

#include<bits/stdc++.h>
using namespace std;
#define fr(i,x) for(i=0;i<x;i++)
int binarylower(int a[],int m,int l,int u)
{
int mid,c=0;
    if(l<=u)
{
      mid=(l+u)/2;
      if(m==a[mid])
      {
c=m;
        return binarylower(a,m,l,mid-1);
      }
      else if(m<a[mid])
{
          return binarylower(a,m,l,mid-1);
      }
      else
{
return binarylower(a,m,mid+1,u);
        }
    }
    else
        return l;
  }

int main()
{
    int n;
    while(cin>>n)
    {
        int ar[100010]={0},i,a;
        fr(i,n)
        {
            cin>>ar[i];
        }
        cin>>a;
        cout<<binarylower(ar,a,0,n-1)<<endl;
    }
}

কোন মন্তব্য নেই:

একটি মন্তব্য পোস্ট করুন

Factorization with prime Sieve

vector <int> prime; char sieve[1000009]; int N=1000009; void primeSieve ( ) { sieve[0] = sieve[1] = 1; prime.push_back(2); ...