제출 #111301

#제출 시각아이디문제언어결과실행 시간메모리
111301SamAnd새 집 (APIO18_new_home)C++17
12 / 100
3259 ms29220 KiB
#include <bits/stdc++.h> using namespace std; const int N = 300005; int n, q, k; int ans[N]; struct ban0 { int x; int u; int t; int i; ban0(){} ban0(int x, int u, int t, int i) { this->x = x; this->u = u; this->t = t; this->i = i; } }; bool operator<(const ban0& a, const ban0& b) { if (a.u < b.u) return true; if (a.u > b.u) return false; if (a.t == 0) return false; if (b.t == 0) return true; return false; } void solv0() { vector<ban0> v; for (int i = 1; i <= n; ++i) { int x, t, l, r; cin >> x >> t >> l >> r; v.push_back(ban0(x, l, t, i)); v.push_back(ban0(x, r + 1, -t, i)); } for (int i = 1; i <= q; ++i) { int x, u; cin >> x >> u; v.push_back(ban0(x, u, 0, i)); } sort(v.begin(), v.end()); multiset<int> s[402]; for (int ii = 0; ii < v.size(); ++ii) { int x = v[ii].x; int t = v[ii].t; if (t > 0) { s[t].insert(x); } else if (t < 0) { s[-t].erase(s[-t].find(x)); } else { bool z = false; int maxu = 0; for (int i = 1; i <= k; ++i) { if (s[i].empty()) { z = true; break; } multiset<int>::iterator it = s[i].lower_bound(x); int minu = 1000000000; if (it != s[i].end()) minu = abs(*it - x); --it; if (it != s[i].end()) minu = min(minu, abs(*it - x)); maxu = max(maxu, minu); } if (z) ans[v[ii].i] = -1; else ans[v[ii].i] = maxu; } } for (int i = 1; i <= q; ++i) cout << ans[i] << endl; } int main() { //freopen("input.txt", "r", stdin); cin >> n >> k >> q; solv0(); return 0; }

컴파일 시 표준 에러 (stderr) 메시지

new_home.cpp: In function 'void solv0()':
new_home.cpp:55:25: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for (int ii = 0; ii < v.size(); ++ii)
                      ~~~^~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...