Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <set>
- using namespace std;
- int main(){
- int nm, ns, T;
- scanf("%d", &nm);
- scanf("%d", &ns);
- scanf("%d", &T);
- set<int> magnet;
- for(int i = 1; i <= ns; ++i){
- int s, d;
- scanf("%d", &s);
- scanf("%d", &d);
- if(magnet.find(s) == magnet.end()){
- magnet.insert(s);
- } else {
- magnet.erase(s);
- }
- if(magnet.find(s + d) == magnet.end()){
- magnet.insert(s + d);
- } else {
- magnet.erase(s + d);
- }
- }
- if(magnet.find(1) == magnet.end()){
- magnet.insert(1);
- }
- magnet.insert(nm + 1);
- for(int i = 1; i <= T; ++i){
- int x;
- scanf("%d", &x);
- cout << *(magnet.upper_bound(x)) - *(prev(magnet.upper_bound(x))) << "\n";
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement