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 N 100005
#define M ll(998244353)
using namespace std;
typedef long double ld;
typedef long long ll;
typedef short int si;
int main()
{
    ios_base::sync_with_stdio(0); istream::sync_with_stdio(0); cin.tie(0); cout.tie(0);
    int n, q, k;
    cin >> n >> k >> q;
    vector <pair <pair <pair <int, int>, int>, int> > g; g.resize(n);
    for (int i = 0; i < n; i++) cin >> g[i].F.F.F >> g[i].F.F.S >> g[i].F.S >> g[i].S;
    for (;q > 0; q--)
    {
        int x, y;
        cin >> x >> y;
        int mk[k + 1];
        for (int i = 0; i <= k; i++) mk[i] = 0;
        int mx = 0, kol = 0;
        for (int i = 0; i < n; i++)
        {
            if (y < g[i].F.S  || g[i].S < y) continue;
            if (!mk[g[i].F.F.S]) {mk[g[i].F.F.S] = 1; kol++;}
            mx = max(mx, abs(x - g[i].F.F.F));
        }
        if (kol != k) {cout << -1 << endl; continue;}
        cout << mx << endl;
    }
}
| # | 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... |