Pagini recente » Cod sursa (job #761107) | Cod sursa (job #3247976) | Cod sursa (job #2760866) | Cod sursa (job #333603) | Cod sursa (job #2069622)
#include <fstream>
using namespace std;
int v[100000];
int main() {
ifstream cin ("cautbin.in");
ofstream cout("cautbin.out");
int n, m ;
cin >> n ;
for (int i = 1; i <= n; ++i) {
cin >> v[i];
}
cin >> m;
int t, x, pas, r;
for (int i = 0; i < m; ++i) {
cin >> t >> x ;
pas = 1 << 16 ;
r = 0 ;
if (t < 2)
while (pas > 0) {
if (r + pas <= n && v[r + pas] <= x)
r += pas ;
pas >>= 1 ;
}
else
while (pas > 0) {
if (r + pas <= n && v[r + pas] < x)
r += pas ;
pas >>= 1 ;
}
if (t == 0) {
if (v[r] != x)
r = -1 ;
}
else if (t == 2)
++r ;
cout << r << "\n";
}
return 0;
}