Cod sursa(job #753145)

Utilizator Stefex09Stefan Teodorescu Stefex09 Data 29 mai 2012 20:06:37
Problema Cautare binara Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.63 kb
#include<iostream>
#include<fstream>
#include<algorithm>

using namespace std;

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

int v[100010];

int main()
{
	int N, M, i, tip, val, now;
	
	in >> N;
	
	for(i = 1; i <= N; ++i)
		in >> v[i];
	
	in >> M;
	
	while(M--){
		in >> tip >> val;
		
		if(tip == 0){
			now = upper_bound(v + 1, v + N + 1, val) - (v + 1);
			out << (v[now] == val ? now : -1) << "\n";
		}
		
		if(tip == 1)
			out << (upper_bound(v + 1, v + N + 1, val) - (v + 1)) << "\n";
		
		if(tip == 2)
			out << (lower_bound(v + 1, v + N + 1, val) - (v + 1) + 1) << "\n";
	}
	
	return 0;
}