Pagini recente » Cod sursa (job #844753) | Cod sursa (job #1884697) | Cod sursa (job #2077476) | Cod sursa (job #715809) | Cod sursa (job #2274117)
#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);
input >> N;
for(int i=0;i<N;i++){
input >> v[i];
}
input >> M;
int tip,x;
int index;
for(int i=0;i<M;i++){
input >> tip >> x;
switch(tip){
case 0:
index=upper_bound(v, v+N, x)-v;
if(v[index-1]==x)
output << index << endl;
else
output << -1 << endl;
break;
case 1:
index=lower_bound(v, v+N, x+1)-v;
output << index << endl;
break;
case 2:
index=upper_bound(v, v+N, x-1)-v;
output << (index + 1) << endl;
break;
}
}
input.close();
output.close();
return 0;
}