Pagini recente » Cod sursa (job #623087) | Cod sursa (job #2099775) | Cod sursa (job #292845) | Cod sursa (job #2222730) | Cod sursa (job #2274126)
#include<stdio.h>
#include<iostream>
#include<fstream>
#include <algorithm>
using namespace std;
int v[100000];
int main(){
int N,M;
//ifstream input("cautbin.in");
//ofstream output("cautbin.out",std::ios::out);
freopen("cautbin.in", "r", stdin);
freopen("cautbin.out", "w", stdout);
scanf("%d", &N);
//input >> N;
for(int i=0;i<N;i++){
scanf("%d", &v[i]);
//input >> v[i];
}
//input >> M;
scanf("%d", &M);
int tip,x;
int index;
for(int i=0;i<M;i++){
scanf("%d%d", &tip, &x);
//input >> tip >> x;
switch(tip){
case 0:
index=upper_bound(v, v+N, x)-v;
if(index>=1 && v[index-1]==x)
printf("%d\n",index);
//output << index << endl;
else
printf("-1\n");
//output << -1 << endl;
break;
case 1:
index=lower_bound(v, v+N, x+1)-v;
printf("%d\n",index);
//output << index << endl;
break;
case 2:
index=upper_bound(v, v+N, x-1)-v;
printf("%d\n",index+1);
//output << (index + 1) << endl;
break;
}
}
//input.close();
//output.close();
return 0;
}