社区讨论
站外题求助
灌水区参与者 5已保存回复 8
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 8 条
- 当前快照
- 1 份
- 快照标识符
- @m6ioxajf
- 此快照首次捕获于
- 2025/01/30 10:02 去年
- 此快照最后确认于
- 2025/11/04 10:10 4 个月前
https://cdn.luogu.com.cn/upload/image_hosting/a99xubiy.png
写了个2分,求调,拿了30分TLE
CPP#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int binarySearch(const vector<int>& a, int x) {
int left = 0, right = a.size();
while (left < right) {
int mid = left + (right - left) / 2;
if (a[mid] < x) {
left = mid + 1;
} else {
right = mid;
}
}
return left;
}
void solve() {
int n, m;
cin >> n >> m;
vector<int> a(n);
for (int i = 0; i < n; i++) {
cin >> a[i];
}
sort(a+1, a+n+1));
while (m--) {
int x;
cin >> x;
int idx = binarySearch(a, x);
int start = max(0, idx - 5);
for (int i = start; i < idx; i++) {
cout << a[i] << " ";
}
int end = min(idx + 5, n);
for (int i = idx; i < end; i++) {
cout << a[i] << " ";
}
cout << endl;
}
}
int main() {
solve();
return 0;
}
回复
共 8 条回复,欢迎继续交流。
正在加载回复...