Pagini recente » Cod sursa (job #39770) | Cod sursa (job #476119) | Cod sursa (job #534731) | Cod sursa (job #495714) | Cod sursa (job #2293887)
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
ifstream fin ("cautbin.in");
ofstream fout ("cautbin.out");
int v[100001],n,i,m,q,x,t;
int main()
{
fin >>n;
for (i=1;i<=n;i++)
{fin >>v[i];}
fin >>m;
for (i=1;i<=m;i++)
{fin >>q>>x;
if (q==0) {t=upper_bound(v+1,v+n+1,x)-v-1;
if (t<=n && t>=1 && v[t]==x) fout <<t<<'\n';
else fout <<-1<<'\n';}
else if (q==1) {t=lower_bound(v+1,v+n+1,x+1)-v-1;
fout <<t<<'\n';}
else {t=upper_bound(v+1,v+n+1,x-1)-v;
fout <<t<<'\n';}}
return 0;
}