This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
#define F first
#define S second
#define sz(x) int(x.size())
#define pb push_back
#define N 100005
#define M ll(998244353)
using namespace std;
typedef long double ld;
typedef long long ll;
typedef short int si;
vector <pair <pair <int, int>, int> > sost;
multiset <int> se[410];
int main()
{
    ios_base::sync_with_stdio(0); istream::sync_with_stdio(0); cin.tie(0); cout.tie(0);
    int n, k, q;
    cin >> n >> k >> q;
    for (int i = 0; i < n; i++)
    {
        int x, t, l, r;
        cin >> x >> t >> l >> r;
        sost.pb({{l, x}, t});
        sost.pb({{r, x}, -t});
    }
    vector <pair <pair <int, int>, int>  > gr; gr.resize(q);
    for (int i = 0; i < q; i++) {cin >> gr[i].F.S >> gr[i].F.F; gr[i].S = i;}
    sort(sost.begin(), sost.end());
    sort(gr.begin(), gr.end());
    int ans[q];
    int j = -1;
    for (auto it : gr)
    {
        int nm = it.S, x = it.F.S, tr = it.F.F;
        while (j + 1 < sz(sost) && sost[j + 1].F.F <= tr)
        {
            j++;
            if (sost[j].S > 0) se[sost[j].S].insert(sost[j].F.S);
               else se[abs(sost[j].S)].erase(se[abs(sost[j].S)].find(sost[j].F.S));
        }
        bool f = 1;
        int mx = 0;
//        for (int i = 1; i <= k; i++)
//        {
//            if (sz(se[i]) == 0) {f = 0; break;}
//
//            auto it = se[i].upper_bound(x);
//
//            int mn = 1e9;
//
//            if (it != se[i].end()) mn = min(mn, abs(*it - x));
//
//            if (it != se[i].begin()) {it--; mn = min(mn, abs(*it - x)); }
//
//            mx = max(mx, mn);
//        }
//
//        if (!f) ans[nm] = -1; else ans[nm] = mx;
    }
    for (int i = 0; i < q; i++) cout << ans[i] << endl;
}
Compilation message (stderr)
new_home.cpp: In function 'int main()':
new_home.cpp:54:13: warning: unused variable 'nm' [-Wunused-variable]
         int nm = it.S, x = it.F.S, tr = it.F.F;
             ^~
new_home.cpp:54:24: warning: unused variable 'x' [-Wunused-variable]
         int nm = it.S, x = it.F.S, tr = it.F.F;
                        ^
new_home.cpp:64:14: warning: unused variable 'f' [-Wunused-variable]
         bool f = 1;
              ^
new_home.cpp:66:13: warning: unused variable 'mx' [-Wunused-variable]
         int mx = 0;
             ^~| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... |