Pagini recente » Cod sursa (job #1781810) | Cod sursa (job #1739032) | Cod sursa (job #119231) | Cod sursa (job #155923) | Cod sursa (job #2098220)
#include <fstream>
#define limit 100005
using namespace std;
int n, m, v[limit], pas;
int main()
{
int i, x, y, aux;
ifstream f("cautbin.in");
ofstream g("cautbin.out");
f >> n;
for (i = 1; i <= n; ++i) f >> v[i];
for (pas = 1; pas <= n; pas <<= 1);
f >> m;
for (; m; --m) {
f >> x >> y;
if (x < 2) {
for (i = 0, aux = pas; aux; aux >>= 1)
if (i + aux <= n && v[i + aux] <= y) i += aux;
if (!x && v[i] != y) g << "-1" << '\n';
else g << i;
continue;
}
for (i = n, aux = pas; aux; aux >>= 1)
if (i - aux >= 1 && v[i - aux] >= y) i -= aux;
g << i << '\n';
}
return 0;
}