Cod sursa(job #2201069)

Utilizator Draganoid345Rusnac Dragos Draganoid345 Data 3 mai 2018 14:27:44
Problema Cautare binara Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.62 kb
#include <bits/stdc++.h>

using namespace std;
ifstream fin("cautbin.in");
ofstream fout("cautbin.out");

int n,m;
int A[100002];
int x,y;
int res;

int main() {
	fin>>n;
	for(int i=1; i<=n; i++)
		fin>>A[i];
	fin>>m;
	for(int i=1; i<=m; i++) {
        fin>>x;
		if(x==0){
  		    fin>>y;
            res=upper_bound(A+1,A+n+1,y)-A-1;
			if(res<=n && res>=1 && A[res]==y)
			    fout<<res<<"\n";
			else
			    fout<<"-1\n";}else if(x==1) {
				fin>>y;
				res=lower_bound(A+1,A+n+1,y+1)-A-1;
				fout<<res<<"\n";
			}else{
fin>>y;
res=upper_bound(A+1,A+n+1,y-1)-A;
fout<<res<<"\n";}}
return 0;
}