社区讨论
64分,样例过,求解!
P2249【深基13.例1】查找参与者 3已保存回复 2
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 2 条
- 当前快照
- 1 份
- 快照标识符
- @lynnfj65
- 此快照首次捕获于
- 2024/07/16 08:02 2 年前
- 此快照最后确认于
- 2024/07/16 09:17 2 年前
CPP
#include <bits/stdc++.h>
using namespace std;
const int N = 1e6 + 5;
int a[N];
int n, m;
int low_find(int num, int l, int r) {
int mid = l + (r - l) / 2;
if (l > r) return -1;
else if (a[mid] > num) return low_find(num, l, mid - 1);
else if (a[mid] < num) return low_find(num, mid + 1, r);
else while (a[mid] == num) mid--;
return ++mid;
}
// 13489 : 6
int main() {
cin >> n >> m;
for (int i = 1; i <= n; i++) cin >> a[i];
for (int i = 1, tmp; i <= m; i++) {
cin >> tmp;
cout << low_find(tmp, 1, n) << ' ';
}
return 0;
}
回复
共 2 条回复,欢迎继续交流。
正在加载回复...