# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
49024 | 2018-05-21T10:45:17 Z | BThero | New Home (APIO18_new_home) | C++17 | 5000 ms | 124048 KB |
// Why am I so stupid? :c #include <bits/stdc++.h> #define pb push_back #define mp make_pair #define all(x) (x).begin(), (x).end() #define fi first #define se second typedef long long ll; using namespace std; const int MAXN = 3e5+5; const int INF = 1e9; struct shop { int x, tp, l, r; shop() { x = tp = l = r = 0; } } arr[MAXN]; struct que { int x, t; que() { x = t = 0; } } req[MAXN]; vector < pair <int, int> > addEl[MAXN * 3]; vector < pair <int, int> > delEl[MAXN * 3]; vector < pair <int, int> > reqEl[MAXN * 3]; multiset <int> ms[MAXN]; int rl[MAXN * 3]; int n, m, k, q; int ans[MAXN]; int mn[MAXN]; void compressTime() { vector <int> vv; for (int i = 1; i <= n; ++i) { vv.pb(arr[i].l); vv.pb(arr[i].r); } for (int i = 1; i <= q; ++i) { vv.pb(req[i].t); } sort(all(vv)); vv.resize(unique(all(vv)) - vv.begin()); m = vv.size(); for (int i = 1; i <= n; ++i) { arr[i].l = upper_bound(all(vv), arr[i].l) - vv.begin(); arr[i].r = upper_bound(all(vv), arr[i].r) - vv.begin(); } for (int i = 1; i <= q; ++i) { req[i].t = upper_bound(all(vv), req[i].t) - vv.begin(); } } void compressX() { vector <int> vv; for (int i = 1; i <= n; ++i) { vv.pb(arr[i].x); } for (int i = 1; i <= q; ++i) { vv.pb(req[i].x); } sort(all(vv)); vv.resize(unique(all(vv)) - vv.begin()); for (int i = 1, ps; i <= n; ++i) { ps = upper_bound(all(vv), arr[i].x) - vv.begin(); rl[ps] = arr[i].x; arr[i].x = ps; } for (int i = 1, ps; i <= q; ++i) { ps = upper_bound(all(vv), req[i].x) - vv.begin(); rl[ps] = req[i].x; req[i].x = ps; } } int dist(int x, int tp) { auto it = ms[tp].upper_bound(x); int ret = INF; if (it != ms[tp].end()) { ret = min(ret, rl[*it] - rl[x]); } if (it != ms[tp].begin()) { ret = min(ret, rl[x] - rl[*(--it)]); } return ret; } void solve() { scanf("%d %d %d", &n, &k, &q); for (int i = 1; i <= n; ++i) { scanf("%d %d", &arr[i].x, &arr[i].tp); scanf("%d %d", &arr[i].l, &arr[i].r); } for (int i = 1; i <= q; ++i) { scanf("%d %d", &req[i].x, &req[i].t); } compressTime(); compressX(); for (int i = 1; i <= n; ++i) { addEl[arr[i].l].pb(mp(arr[i].x, arr[i].tp)); delEl[arr[i].r + 1].pb(mp(arr[i].x, arr[i].tp)); } for (int i = 1; i <= q; ++i) { reqEl[req[i].t].pb(mp(req[i].x, i)); } for (int i = 1; i <= m; ++i) { for (auto it : addEl[i]) { ms[it.se].insert(it.fi); } for (auto it : delEl[i]) { ms[it.se].erase(ms[it.se].find(it.fi)); } for (auto it : reqEl[i]) { for (int j = 1; j <= k; ++j) { ans[it.se] = max(ans[it.se], dist(it.fi, j)); } } } for (int i = 1; i <= q; ++i) { if (ans[i] == INF) { ans[i] = -1; } printf("%d\n", ans[i]); } } int main() { #ifdef BThero freopen("input.txt", "r", stdin); freopen("output.txt", "w", stdout); #endif // BThero int tt = 1; while (tt--) { solve(); } return 0; }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 67 ms | 84856 KB | Output is correct |
2 | Correct | 72 ms | 84964 KB | Output is correct |
3 | Correct | 77 ms | 85000 KB | Output is correct |
4 | Correct | 75 ms | 85204 KB | Output is correct |
5 | Correct | 73 ms | 85204 KB | Output is correct |
6 | Correct | 74 ms | 85288 KB | Output is correct |
7 | Correct | 69 ms | 85288 KB | Output is correct |
8 | Correct | 72 ms | 85288 KB | Output is correct |
9 | Correct | 70 ms | 85288 KB | Output is correct |
10 | Correct | 68 ms | 85288 KB | Output is correct |
11 | Correct | 67 ms | 85288 KB | Output is correct |
12 | Correct | 68 ms | 85288 KB | Output is correct |
13 | Correct | 68 ms | 85288 KB | Output is correct |
14 | Correct | 68 ms | 85288 KB | Output is correct |
15 | Correct | 76 ms | 85288 KB | Output is correct |
16 | Correct | 74 ms | 85288 KB | Output is correct |
17 | Correct | 73 ms | 85288 KB | Output is correct |
18 | Correct | 67 ms | 85288 KB | Output is correct |
19 | Correct | 68 ms | 85288 KB | Output is correct |
20 | Correct | 72 ms | 85288 KB | Output is correct |
21 | Correct | 77 ms | 85288 KB | Output is correct |
22 | Correct | 71 ms | 85288 KB | Output is correct |
23 | Correct | 77 ms | 85304 KB | Output is correct |
24 | Correct | 72 ms | 85304 KB | Output is correct |
25 | Correct | 82 ms | 85304 KB | Output is correct |
26 | Correct | 79 ms | 85304 KB | Output is correct |
27 | Correct | 75 ms | 85304 KB | Output is correct |
28 | Correct | 74 ms | 85304 KB | Output is correct |
29 | Correct | 78 ms | 85304 KB | Output is correct |
30 | Correct | 69 ms | 85304 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 67 ms | 84856 KB | Output is correct |
2 | Correct | 72 ms | 84964 KB | Output is correct |
3 | Correct | 77 ms | 85000 KB | Output is correct |
4 | Correct | 75 ms | 85204 KB | Output is correct |
5 | Correct | 73 ms | 85204 KB | Output is correct |
6 | Correct | 74 ms | 85288 KB | Output is correct |
7 | Correct | 69 ms | 85288 KB | Output is correct |
8 | Correct | 72 ms | 85288 KB | Output is correct |
9 | Correct | 70 ms | 85288 KB | Output is correct |
10 | Correct | 68 ms | 85288 KB | Output is correct |
11 | Correct | 67 ms | 85288 KB | Output is correct |
12 | Correct | 68 ms | 85288 KB | Output is correct |
13 | Correct | 68 ms | 85288 KB | Output is correct |
14 | Correct | 68 ms | 85288 KB | Output is correct |
15 | Correct | 76 ms | 85288 KB | Output is correct |
16 | Correct | 74 ms | 85288 KB | Output is correct |
17 | Correct | 73 ms | 85288 KB | Output is correct |
18 | Correct | 67 ms | 85288 KB | Output is correct |
19 | Correct | 68 ms | 85288 KB | Output is correct |
20 | Correct | 72 ms | 85288 KB | Output is correct |
21 | Correct | 77 ms | 85288 KB | Output is correct |
22 | Correct | 71 ms | 85288 KB | Output is correct |
23 | Correct | 77 ms | 85304 KB | Output is correct |
24 | Correct | 72 ms | 85304 KB | Output is correct |
25 | Correct | 82 ms | 85304 KB | Output is correct |
26 | Correct | 79 ms | 85304 KB | Output is correct |
27 | Correct | 75 ms | 85304 KB | Output is correct |
28 | Correct | 74 ms | 85304 KB | Output is correct |
29 | Correct | 78 ms | 85304 KB | Output is correct |
30 | Correct | 69 ms | 85304 KB | Output is correct |
31 | Correct | 3827 ms | 94720 KB | Output is correct |
32 | Correct | 202 ms | 94720 KB | Output is correct |
33 | Correct | 456 ms | 94720 KB | Output is correct |
34 | Correct | 3048 ms | 94720 KB | Output is correct |
35 | Correct | 1987 ms | 94772 KB | Output is correct |
36 | Correct | 518 ms | 94772 KB | Output is correct |
37 | Correct | 395 ms | 94772 KB | Output is correct |
38 | Correct | 327 ms | 94772 KB | Output is correct |
39 | Correct | 265 ms | 94772 KB | Output is correct |
40 | Correct | 272 ms | 94772 KB | Output is correct |
41 | Correct | 602 ms | 94772 KB | Output is correct |
42 | Correct | 758 ms | 94772 KB | Output is correct |
43 | Correct | 571 ms | 94772 KB | Output is correct |
44 | Correct | 521 ms | 94772 KB | Output is correct |
45 | Correct | 397 ms | 94772 KB | Output is correct |
46 | Correct | 261 ms | 94772 KB | Output is correct |
47 | Correct | 207 ms | 94772 KB | Output is correct |
48 | Correct | 286 ms | 94772 KB | Output is correct |
49 | Correct | 228 ms | 94772 KB | Output is correct |
50 | Correct | 407 ms | 94772 KB | Output is correct |
51 | Correct | 231 ms | 94772 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Execution timed out | 5092 ms | 116716 KB | Time limit exceeded |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Execution timed out | 5109 ms | 124048 KB | Time limit exceeded |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 67 ms | 84856 KB | Output is correct |
2 | Correct | 72 ms | 84964 KB | Output is correct |
3 | Correct | 77 ms | 85000 KB | Output is correct |
4 | Correct | 75 ms | 85204 KB | Output is correct |
5 | Correct | 73 ms | 85204 KB | Output is correct |
6 | Correct | 74 ms | 85288 KB | Output is correct |
7 | Correct | 69 ms | 85288 KB | Output is correct |
8 | Correct | 72 ms | 85288 KB | Output is correct |
9 | Correct | 70 ms | 85288 KB | Output is correct |
10 | Correct | 68 ms | 85288 KB | Output is correct |
11 | Correct | 67 ms | 85288 KB | Output is correct |
12 | Correct | 68 ms | 85288 KB | Output is correct |
13 | Correct | 68 ms | 85288 KB | Output is correct |
14 | Correct | 68 ms | 85288 KB | Output is correct |
15 | Correct | 76 ms | 85288 KB | Output is correct |
16 | Correct | 74 ms | 85288 KB | Output is correct |
17 | Correct | 73 ms | 85288 KB | Output is correct |
18 | Correct | 67 ms | 85288 KB | Output is correct |
19 | Correct | 68 ms | 85288 KB | Output is correct |
20 | Correct | 72 ms | 85288 KB | Output is correct |
21 | Correct | 77 ms | 85288 KB | Output is correct |
22 | Correct | 71 ms | 85288 KB | Output is correct |
23 | Correct | 77 ms | 85304 KB | Output is correct |
24 | Correct | 72 ms | 85304 KB | Output is correct |
25 | Correct | 82 ms | 85304 KB | Output is correct |
26 | Correct | 79 ms | 85304 KB | Output is correct |
27 | Correct | 75 ms | 85304 KB | Output is correct |
28 | Correct | 74 ms | 85304 KB | Output is correct |
29 | Correct | 78 ms | 85304 KB | Output is correct |
30 | Correct | 69 ms | 85304 KB | Output is correct |
31 | Correct | 3827 ms | 94720 KB | Output is correct |
32 | Correct | 202 ms | 94720 KB | Output is correct |
33 | Correct | 456 ms | 94720 KB | Output is correct |
34 | Correct | 3048 ms | 94720 KB | Output is correct |
35 | Correct | 1987 ms | 94772 KB | Output is correct |
36 | Correct | 518 ms | 94772 KB | Output is correct |
37 | Correct | 395 ms | 94772 KB | Output is correct |
38 | Correct | 327 ms | 94772 KB | Output is correct |
39 | Correct | 265 ms | 94772 KB | Output is correct |
40 | Correct | 272 ms | 94772 KB | Output is correct |
41 | Correct | 602 ms | 94772 KB | Output is correct |
42 | Correct | 758 ms | 94772 KB | Output is correct |
43 | Correct | 571 ms | 94772 KB | Output is correct |
44 | Correct | 521 ms | 94772 KB | Output is correct |
45 | Correct | 397 ms | 94772 KB | Output is correct |
46 | Correct | 261 ms | 94772 KB | Output is correct |
47 | Correct | 207 ms | 94772 KB | Output is correct |
48 | Correct | 286 ms | 94772 KB | Output is correct |
49 | Correct | 228 ms | 94772 KB | Output is correct |
50 | Correct | 407 ms | 94772 KB | Output is correct |
51 | Correct | 231 ms | 94772 KB | Output is correct |
52 | Execution timed out | 5081 ms | 124048 KB | Time limit exceeded |
53 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 67 ms | 84856 KB | Output is correct |
2 | Correct | 72 ms | 84964 KB | Output is correct |
3 | Correct | 77 ms | 85000 KB | Output is correct |
4 | Correct | 75 ms | 85204 KB | Output is correct |
5 | Correct | 73 ms | 85204 KB | Output is correct |
6 | Correct | 74 ms | 85288 KB | Output is correct |
7 | Correct | 69 ms | 85288 KB | Output is correct |
8 | Correct | 72 ms | 85288 KB | Output is correct |
9 | Correct | 70 ms | 85288 KB | Output is correct |
10 | Correct | 68 ms | 85288 KB | Output is correct |
11 | Correct | 67 ms | 85288 KB | Output is correct |
12 | Correct | 68 ms | 85288 KB | Output is correct |
13 | Correct | 68 ms | 85288 KB | Output is correct |
14 | Correct | 68 ms | 85288 KB | Output is correct |
15 | Correct | 76 ms | 85288 KB | Output is correct |
16 | Correct | 74 ms | 85288 KB | Output is correct |
17 | Correct | 73 ms | 85288 KB | Output is correct |
18 | Correct | 67 ms | 85288 KB | Output is correct |
19 | Correct | 68 ms | 85288 KB | Output is correct |
20 | Correct | 72 ms | 85288 KB | Output is correct |
21 | Correct | 77 ms | 85288 KB | Output is correct |
22 | Correct | 71 ms | 85288 KB | Output is correct |
23 | Correct | 77 ms | 85304 KB | Output is correct |
24 | Correct | 72 ms | 85304 KB | Output is correct |
25 | Correct | 82 ms | 85304 KB | Output is correct |
26 | Correct | 79 ms | 85304 KB | Output is correct |
27 | Correct | 75 ms | 85304 KB | Output is correct |
28 | Correct | 74 ms | 85304 KB | Output is correct |
29 | Correct | 78 ms | 85304 KB | Output is correct |
30 | Correct | 69 ms | 85304 KB | Output is correct |
31 | Correct | 3827 ms | 94720 KB | Output is correct |
32 | Correct | 202 ms | 94720 KB | Output is correct |
33 | Correct | 456 ms | 94720 KB | Output is correct |
34 | Correct | 3048 ms | 94720 KB | Output is correct |
35 | Correct | 1987 ms | 94772 KB | Output is correct |
36 | Correct | 518 ms | 94772 KB | Output is correct |
37 | Correct | 395 ms | 94772 KB | Output is correct |
38 | Correct | 327 ms | 94772 KB | Output is correct |
39 | Correct | 265 ms | 94772 KB | Output is correct |
40 | Correct | 272 ms | 94772 KB | Output is correct |
41 | Correct | 602 ms | 94772 KB | Output is correct |
42 | Correct | 758 ms | 94772 KB | Output is correct |
43 | Correct | 571 ms | 94772 KB | Output is correct |
44 | Correct | 521 ms | 94772 KB | Output is correct |
45 | Correct | 397 ms | 94772 KB | Output is correct |
46 | Correct | 261 ms | 94772 KB | Output is correct |
47 | Correct | 207 ms | 94772 KB | Output is correct |
48 | Correct | 286 ms | 94772 KB | Output is correct |
49 | Correct | 228 ms | 94772 KB | Output is correct |
50 | Correct | 407 ms | 94772 KB | Output is correct |
51 | Correct | 231 ms | 94772 KB | Output is correct |
52 | Execution timed out | 5092 ms | 116716 KB | Time limit exceeded |
53 | Halted | 0 ms | 0 KB | - |