Pagini recente » Cod sursa (job #1362818) | Cod sursa (job #3269381) | Cod sursa (job #2081513) | Cod sursa (job #2982362) | Cod sursa (job #936660)
Cod sursa(job #936660)
#include <fstream>
using namespace std;
int main() {
ifstream fin("cautbin.in");
ofstream fout("cautbin.out");
int n;
fin >> n;
int a[n];
for (int i = 0; i < n; ++i)
fin >> a[i];
int nquery;
fin >> nquery;
int q, x, l, r, m;
for (; nquery > 0; --nquery) {
fin >> q >> x;
if (q <= 1) {
for (l = 0, r = n-1; l < r; ) {
m = (l+r)/2+1;
if (a[m] <= x) l = m;
else r = m-1;
}
if (q == 0 && a[l] != x) fout << -1;
else fout << l+1;
}
else {
for (l = 0, r = n-1; l < r; ) {
m = (l+r)/2;
if (a[m] < x) l = m+1;
else r = m;
}
fout << l+1;
}
fout << '\n';
}
return 0;
}