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>
using namespace std;
typedef long long ll;
typedef long double ld;
typedef vector<ll> vi;
typedef pair<ll,ll> ii;
typedef vector<ii> vii;
#define rep(i,a,b) for(int i = a; i < b; i++)
#define per(i,a,b) for(int i = a; i >= b; i--)
#define inf 1000000000000000000
#define sz(x) (ll)(x).size()
#define all(x) x.begin(),x.end()
struct store {
ll x,a,b,t;
} ;
vector<store> stores;
ll n,q,k,l,y;
store _;
vi type;
int main(){
cin >> n >> k >> q;
stores.assign(n,_);
rep(i,0,n){
cin >> stores[i].x >> stores[i].t >> stores[i].a >> stores[i].b;
stores[i].t--;
}
rep(i,0,q){
type.assign(k,-1);
cin >> l >> y;
rep(i,0,n){
ll tp = stores[i].t;
if (stores[i].a > y || stores[i].b < y) continue;
if (type[tp] == -1) type[tp] = abs(l-stores[i].x);
else type[tp] = min(type[tp],abs(l-stores[i].x));
}
ll ma = -1;
rep(i,0,k) {
if (type[i] == -1) { cout << -1 << endl; break;}
else ma = max(ma,type[i]);
if (i == k-1) { cout << ma << 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... |