Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- #define pb push_back
- using namespace std;
- void out(vector <int> &a) {
- for (auto i : a)
- cout << i << endl;
- }
- int main() {
- int n, k;
- cin >> n >> k;
- vector <int> N(n), K(k);
- for (int i = 0; i < n; i++)
- cin >> N[i];
- for (int i = 0; i < k; i++)
- cin >> K[i];
- for (auto t : K) {
- //left binary search
- int t1, l = 0, r = n - 1, m;
- while (l != r) {
- m = (l+r)/2;
- N[m] < t ? l = m+1 : r = m;
- }
- if (N[l] == t) {t1 = l+1; cout << l+1 << ' ';}
- else cout << 0 << endl;
- //right binary search
- int l1 = -1, r1 = n;
- while (r1 - l1 > 1) {
- m = (l1+r1)/2;
- N[m] <= t ? l1 = m : r1 = m;
- }
- if (N[r1] == t && t1 != 0) cout << r1 << endl;
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement