Cod sursa(job #2515570)

Utilizator bogdanc2002Bogdan Colta bogdanc2002 Data 28 decembrie 2019 20:49:09
Problema Cautare binara Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.57 kb
#include <algorithm>
#include<bits/stdc++.h>
using namespace std;
ifstream fin("cautbin.in");ofstream fout("cautbin.out");

int main(){
int n,m;fin>>n;int ar[n+1];for(int a=1;a<=n;a++)fin>>ar[a];
fin>>m;int g,x;int y;
while(m){
    fin>>g>>x;

    if(g==0){
       y=upper_bound(ar+1,ar+n+1,x)-ar-1;
       if(y<=n && x>=1 && ar[y]==x)cout<<y<<endl;
       else cout<<"-1"<<endl;
    }
    if(g==1){
       y=lower_bound(ar+1,ar+n+1,x+1)-ar-1;cout<<y<<endl;
    }
    if(g==2){
       y=upper_bound(ar+1,ar+n+1,x-1)-ar;cout<<y<<endl;
    }
m--;
}
return 0;}