Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
346787 | admin_cgn | 【C6-8】二分查找左侧边界 | C++ | 解答错误 | 90 | 93 MS | 1816 KB | 601 | 2025-09-12 19:43:35 |
#include<bits/stdc++.h> using namespace std; long long n, a[100000], b[100000], q; int zhao(long long x) { long long l = 1, r = n; while (l <= r) { long long mid = (l + r) >> 1; if (x <= a[mid]) r = mid - 1; else l = mid + 1; } if (l <= n && a[l] == x) return l; return -1; } int main() { scanf("%lld", &n); for (int i = 1; i <= n; i++) { scanf("%lld", &a[i]); } scanf("%lld", &q); for (int i = 1; i <= q; i++) { scanf("%lld", &b[i]); printf("%d ", zhao(b[i])); } return 0; }