Cod sursa(job #2125877)

Utilizator TESTHARD123TEST CENTRE TESTHARD123 Data 8 februarie 2018 20:17:22
Problema Cautare binara Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.59 kb
#include<fstream>
#include<cmath>
#include<algorithm>
using namespace std;
ifstream fin("cautbin.in");
ofstream fout("cautbin.out");
long long v[100001], a, x, i, k, n;
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)	if (v[upper_bound(v + 1, v + n + 1, a) - v - 1] == a) fout << upper_bound(v + 1, v + n + 1, a) - v - 1;
			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;
	}
	system("pause");
	return 0;
}