1 条题解
-
0
#include <bits/stdc++.h> using namespace std; const int N = 1e6 + 10; int n, m; int a[N];
int main() { cin >> n >> m; for (int i = 1; i <= n; i++) { cin >> a[i]; } while (m--) { int x; cin >> x; int l = 1, r = n, res = -1; while (l <= r) { int mid = (l + r) / 2; if (a[mid] > x) { r = mid - 1; } else if (a[mid] < x) { l = mid + 1; } else if (a[mid] == x) { res = mid; r = mid - 1; } } cout << res << " "; } return 0;
}
信息
- ID
- 9842
- 时间
- 1000ms
- 内存
- 125MiB
- 难度
- 3
- 标签
- 递交数
- 550
- 已通过
- 134
- 上传者