Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cstdio>
- #include <vector>
- #include <set>
- #include <queue>
- #include <map>
- #include <string>
- #include <cmath>
- #include <functional>
- #include <algorithm>
- #include <utility>
- #include <stack>
- #include <unordered_map>
- #define ban long long
- using namespace std;
- int main()
- {
- ios_base::sync_with_stdio(0);
- cin.tie(0), cout.tie(0);
- int n1,n2; cin >> n1>>n2;
- if (n1 == 0 || n2 == 0) return 0;
- set <ban> ourset;
- //map <ban, ban> num;
- int i = 0;
- while (n1--)
- {
- ban x; cin >> x;
- ourset.insert(x);
- /*num[x] = ++i;*/
- }
- vector <ban> a(n2);
- for (int i = 0; i < n2; ++i) cin >> a[i];
- ban min = 1e9, x2;
- int cntr = 0;
- for (auto &el : a)
- {
- ++cntr;
- auto it = ourset.lower_bound(el);
- if (it != ourset.end())
- {
- if (abs(el - *it) < min)
- {
- min = abs(el - *it);
- x2 = *it;
- }
- }
- if (it != ourset.begin())
- {
- --it;
- if ( abs(el - *it) <= min )
- {
- min = abs(el - *it);
- x2 = *it;
- }
- }
- if (cntr == a.size()) return cout << x2,0;
- cout << x2<<endl;
- min = 1e9;
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement