Cod sursa(job #2200770)

Utilizator Draganoid345Rusnac Dragos Draganoid345 Data 2 mai 2018 15:44:19
Problema Cautare binara Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 0.68 kb
#include <bits/stdc++.h>
#define ll long long
#define ull unsigned long long
using namespace std;

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

int n,m,A[10000],x,ans,y;

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;
			ans=upper_bound(A+1,A+n+1,y)-A-1;
			if(ans<=n && ans>=1 && A[ans]==y)
				fout<<ans<<"\n";
			else
				fout<<-1<<"\n";
		}
		else{
			if(x==1) {
				fin>>y;
				ans=lower_bound(A+1,A+n+1,y+1)-A-1;
				fout<<ans<<"\n";
			}
			else{
				fin>>y;
				ans=upper_bound(A+1,A+n+1,y-1)-A;
				fout<<ans<<"\n";
			}
		}
	}


	return 0;
}