Pagini recente » Cod sursa (job #888151) | Cod sursa (job #1031623) | Cod sursa (job #21029) | Cod sursa (job #551812) | Cod sursa (job #880083)
Cod sursa(job #880083)
#include<iostream>
#include<fstream>
using namespace std;
ifstream fin("cautbin.in");
ofstream fout("cautbin.out");
int main(){
int n, m, x, a, b, p, q, r, ok = 0, k = 2;
fin >> n;
int v[n];
for(int i = 1; i <= n; i ++){
fin >> x;
v[i] = x;
}
fin >> m;
for(int i = 1; i <= m; i ++){
fin >> a >> b;
ok = 0;
if(a == 0){
while(!ok){
if(b > v[n/k]) k *= 2;//for(int i = n/2; i <= n; i++)if(b == v[i]) p = i;
else if(b < v[n/k])k *=2;
else if(b == v[n/k]) {
p = v[n/k] + 1;
ok = 1;
}
}
cout << p << endl;
}else if(a == 1){
while(!ok)
if(b > v[n/k]) k *= 2;
else if(b > v[n/k])k *=2;
else if(b >= v[n/k]) {
q = n/k;
ok = 1;
}
cout << q << endl;
}
else if (a == 2){
while(!ok)
if(b > v[n/k]) k *= 2;
else if(b < v[n/k])k *=2;
else if(b <= v[n/k]) {
r = n/k;
ok = 1;
}
}
}
cout << r << endl;
return 0;
}