Pagini recente » Cod sursa (job #2387362) | Cod sursa (job #618080) | Cod sursa (job #916741) | Cod sursa (job #1443189) | Cod sursa (job #2073793)
#include <fstream>
using namespace std;
ifstream f("cautbin.in");
ofstream g("cautbin.out");
int v[100001];
int main()
{
int q, n, x, r = 0, pas, m, j;
f >> n;
for (int i = 1; i <= n; i++)
f >> v[i];
f >> m;
for (j = 0; j < m; j++)
{
f >> q >> x;
r = 0;
pas = 1 << 16;
if (q == 0 || q == 1)
{
while (pas != 0)
{
if (r + pas <= n && v[r + pas] <= x)
r += pas;
pas /= 2;
}
//r++;
if (q == 0)
if (v[r] != x)
r = -1;
g << r << '\n';
}
if (q == 2)
{
while (pas != 0){
if (r + pas <= n && !(v[r + pas] >= x))
r += pas;
pas /= 2;
}
r++;
g << r << '\n';
}
}
return 0;
}