제출 #217708

#제출 시각아이디문제언어결과실행 시간메모리
217708Vimmer새 집 (APIO18_new_home)C++17
0 / 100
5048 ms22088 KiB
#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; }

컴파일 시 표준 에러 (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 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...