Advertisement
mickypinata

PROG-T1029: Magnet

Jul 2nd, 2020
179
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.85 KB | None | 0 0
  1. #include <iostream>
  2. #include <set>
  3. using namespace std;
  4.  
  5. int main(){
  6.  
  7.     int nm, ns, T;
  8.     scanf("%d", &nm);
  9.     scanf("%d", &ns);
  10.     scanf("%d", &T);
  11.  
  12.     set<int> magnet;
  13.     for(int i = 1; i <= ns; ++i){
  14.         int s, d;
  15.         scanf("%d", &s);
  16.         scanf("%d", &d);
  17.         if(magnet.find(s) == magnet.end()){
  18.             magnet.insert(s);
  19.         } else {
  20.             magnet.erase(s);
  21.         }
  22.         if(magnet.find(s + d) == magnet.end()){
  23.             magnet.insert(s + d);
  24.         } else {
  25.             magnet.erase(s + d);
  26.         }
  27.     }
  28.  
  29.     if(magnet.find(1) == magnet.end()){
  30.         magnet.insert(1);
  31.     }
  32.     magnet.insert(nm + 1);
  33.     for(int i = 1; i <= T; ++i){
  34.         int x;
  35.         scanf("%d", &x);
  36.         cout << *(magnet.upper_bound(x)) - *(prev(magnet.upper_bound(x))) << "\n";
  37.     }
  38.  
  39.     return 0;
  40. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement