11 条题解
-
0
#include <iostream> using namespace std;
const int N = 1e5 + 10;
int a[N]; int n, q;
int main() { cin.tie(0); cout.tie(0);
cin >> n >> q; for (int i = 1; i <= n; i++) { cin >> a[i]; } while (q--) { int x; cin >> x; int l = 1, r = n; int ans; while (l <= r) { int mid = (l + r) / 2; if (a[mid] >= x) { ans = mid; r = mid - 1; } else { l = mid + 1; } } if (a[ans] != x) { cout << "-1 -1" << endl; continue; } cout << ans - 1 << " "; l = 1, r = n, ans = 1; while (l <= r) { int mid = (l + r) / 2; if (a[mid] <= x) { ans = mid; l = mid + 1; } else { r = mid - 1; } } cout << ans - 1 << endl; } return 0;
}
信息
- ID
- 88
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 7
- 标签
- 递交数
- 1254
- 已通过
- 291
- 上传者