Pagini recente » Cod sursa (job #1952458) | Cod sursa (job #2568195) | Cod sursa (job #1669410) | Cod sursa (job #1178757) | Cod sursa (job #3324373)
/******************************************************************************
Online C++ Compiler.
Code, Compile, Run and Debug C++ program online.
Write your code in this editor and press "Run" button to compile and execute it.
*******************************************************************************/
#include <fstream>
using namespace std;
int v[100001];
ifstream cin("cautbin.in");
ofstream cout("cautbin.out");
int main()
{
int n, m, c = 0, x, y ;
cin >> n;
for (int i = 0; i < n; i++) {
cin >> v[i];
}
cin >> m;
for (int i = 0; i < m ; i++) {
cin >> x >> y;
int st = 0, dr = n - 1;
if (x == 0) {
st = 0, dr = n - 1;
while (st <= dr) {
int mid = st + (dr - st) / 2;
if (v[mid] > y){
dr = mid - 1;}
else st = mid + 1;
}
if (v[dr] != y) cout << -1;
else
cout << dr + 1 << endl;
}
else if (x == 1) {
st = 0, dr = n - 1;
while (st <= dr) {
int mid = st + (dr - st) / 2;
if (v[mid] > y){
dr = mid - 1;}
else st = mid + 1;
} cout << dr + 1 << endl ;
}
else if (x == 2 ){
st = 0, dr = n - 1;
while (st <= dr) {
int mid = st + (dr - st) / 2;
if (v[mid] < y){
st = mid + 1;}
else dr = mid - 1;
} cout << st + 1<< endl ;
}
}
return 0;
}