Cod sursa(job #2125880)

Utilizator TESTHARD123TEST CENTRE TESTHARD123 Data 8 februarie 2018 20:20:36
Problema Cautare binara Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.57 kb
#include<fstream>
#include<math.h>
#include<algorithm>
using namespace std;
ifstream fin("cautbin.in");
ofstream fout("cautbin.out");
int v[100001], a, x, i, k, n, l;
int main(){
	fin >> n;
	for (i = 1; i <= n; i++) fin >> v[i];
	fin >> k;
	for (i = 1; i <= k; i++) {
		fin >> x >> a;
		if (x == 0) {
			l = upper_bound(v + 1, v + n + 1, a) - v - 1;
			if (v[l] == a) fout << l;
			else fout << -1; 
		}
		if (x == 1) fout << upper_bound(v + 1, v + n + 1, a) - v - 1;
		if (x == 2)
			fout << lower_bound(v + 1, v + n + 1, a) - v;
		fout << '\n';
	}
	return 0;
}