Cod sursa(job #1844866)

Utilizator xandruGuzun Alexandru xandru Data 10 ianuarie 2017 16:17:53
Problema Cautare binara Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.53 kb
#include<bits/stdc++.h>

using namespace std;
ifstream fin("cautbin.in");
ofstream fout("cautbin.out");
int i,a[100005],m,k,x,n,r;

int main()
{
	fin>>n;
	for(i=1;i<=n;i++)
	{
		fin>>a[i];
	}
	fin>>m;
	for(i=1;i<=m;i++)
	{
		fin>>k>>x;
		if(k==0){ r=	upper_bound(a + 1, a + n + 1, x) - a - 1;
								if(a[r]!=x) fout<<"-1\n";
								else fout<<r<<"\n";
				}
		if(k==1) fout<<lower_bound(a + 1, a + n + 1, x + 1) - a - 1<<"\n";
		if(k==2) fout<<upper_bound(a + 1, a + n + 1, x - 1) - a<<"\n";
		
	}
	return 0;
}