Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <algorithm>
- #include <cmath>
- #include <iostream>
- #include <map>
- #include <string>
- #include <vector>
- #include <set>
- using namespace std;
- int main() {
- unordered_map <int, set <int>> kek;
- int query_count;
- cin >> query_count;
- for (int query_id = 0; query_id < query_count; ++query_id) {
- string query_type;
- cin >> query_type;
- int start, finish;
- cin >> start >> finish;
- if (query_type == "ADD") {
- kek[start].insert (finish);
- kek[finish].insert (start);
- } else if (query_type == "GO") {
- int mn = abs (start - finish);
- if (kek.count (start)) {
- auto it = kek[start].lower_bound(finish);
- if (it != kek[start].end()) mn = min(mn, abs(*it - finish));
- if (it != kek[start].begin()) {
- --it;
- mn = min(mn, abs(*it - finish));
- }
- }
- cout << mn << '\n';
- }
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement