Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
127155 | 谢思涵 | 折半查找法 | C++ | 解答错误 | 80 | 1 MS | 296 KB | 373 | 2024-01-25 08:06:29 |
#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; r = mid - 1;} else l = mid + 1; } if(ans) cout << ans << endl; else cout << -1 << endl; return 0; }