Pagini recente » Cod sursa (job #387179) | Cod sursa (job #1313081) | Cod sursa (job #2178433) | Cod sursa (job #3187307) | Cod sursa (job #1798593)
#include <fstream>
using namespace std;
ifstream fin ("cautbin.in");
ofstream fout ("cautbin.out");
const int N = 100010;
int n, t, i, j, v[N], T, mij, x, st, dr, ok;
int main() {
fin >> n;
for (i = 1; i <= n; ++i) {
fin >> v[i];
}
fin >> t;
for (; t; t--) {
fin >> T >> x;
if (T == 0) {
st = 1;
dr = n;
ok =- 1;
while(st <= dr) {
mij = (st + dr) >> 1;
if (v[mij] <= x)
st = mij + 1;
else
dr = mij - 1;
}
if (v[dr] == x) {
fout << dr << "\n";
} else {
fout << "-1\n";
}
} else if (T == 1) {
st = 1;
dr = n;
ok = -1;
while (st <= dr) {
mij = (st + dr) >> 1;
if(v[mij]<=x) {
st = mij + 1;
} else {
dr = mij - 1;
}
}
fout << dr << "\n";
} else {
st = 1;
dr = n;
ok = -1;
while (st <= dr) {
mij = (st + dr) >> 1;
if (v[mij] < x) {
st = mij + 1;
} else {
dr = mij - 1;
}
}
fout << st << "\n";
}
}
return 0;
}