Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
127185 | 谢思涵 | 折半查找法 | C++ | 通过 | 100 | 1 MS | 292 KB | 398 | 2024-01-25 08:15:20 |
#include <iostream> using namespace std; int a[100100]; int main() { int n, q; cin >> n; for(int i = 1; i <= n; i++) cin >> a[i]; cin >> q; int l = 1, r = n, ans = 0; while(l <= r) { int mid = (l + r) / 2; if(a[mid] == q) {ans = mid; break;} if(a[mid] > q) r = mid - 1; else l = mid + 1; } if(ans) cout << ans << endl; else cout << -1 << endl; return 0; }