Pagini recente » Cod sursa (job #1212617) | Cod sursa (job #1960638) | Cod sursa (job #1816059) | Cod sursa (job #1661606) | Cod sursa (job #2415894)
#include <bits/stdc++.h>
using namespace std;
int v[100005];
int main()
{
ifstream fin("cautbin.in");
ofstream fout("cautbin.out");
int n, m, op, x;
fin >> n;
for(int i = 1; i <= n; ++i)
fin >> v[i];
fin >> m;
while(m){
fin >> op >> x;
int rez = 0, pas = 1 << 30;
while(pas){
if(rez + pas <= n && ((op < 2 && v[rez + pas] <= x) || (op == 2 && v[rez + pas] < x)))
rez += pas;
pas /= 2;
}
if(op == 0){
if(v[rez] == x) fout << rez << "\n";
else fout << "-1\n";
}
else{
if(op == 2) rez++;
fout << rez << "\n";
}
m--;
}
return 0;
}