Pagini recente » Cod sursa (job #2081940) | Cod sursa (job #2496476) | Cod sursa (job #413714) | Cod sursa (job #1490131) | Cod sursa (job #2073103)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f ("cautbin.in");
ofstream g ("cautbin.out");
const int N=100001;
int v[N];
int main()
{
int i, n, m, r, pas, x, in;
f>>n;
for (i=1; i<=n; i++) f>>v[i];
f>>m;
for (i=1; i<=m; i++)
{
f>>in>>x;
pas=1<<16;
r=0;
if (in < 2)
{
while (pas!=0)
{
if (r+pas<=n && v[r+pas]<=x)
{
r+=pas;
}
pas /= 2;
}
if (in==0 && v[r] != x)
{
r = -1;
}
}
else
{
while (pas!=0)
{
if (r+pas<=n && v[r+pas]<x)
{
r+=pas;
}
pas /= 2;
}
r++;
}
g<<r<<'\n';
}
f.close();
g.close();
return 0;
}