# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
306852 | 2020-09-26T11:02:22 Z | joylintp | Handcrafted Gift (IOI20_gift) | C++14 | 265 ms | 17632 KB |
#include"gift.h" #include<bits/stdc++.h> using namespace std; int construct (int n, int r, vector<int> a, vector<int> b, vector<int> x) { vector<pair<int, int>> v; for (int i = 0; i < r; i++) if (x[i] == 1) v.push_back({a[i], b[i]}); sort(v.begin(), v.end()); vector<pair<int, int>> same; for (int i = 0; i < v.size(); i++) if (same.empty()) same.push_back(v[i]); else if (same.back().second + 1 >= v[i].first) same.back().second = max(same.back().second, v[i].second); else same.push_back(v[i]); string s; for (int i = 0; i < same.size(); i++) { for (int j = (i == 0 ? 0 : same[i - 1].second + 1); j <= same[i].first; j++) if (s.empty()) s += 'R'; else if (s.back() == 'R') s += 'B'; else s += 'R'; for (int j = same[i].first + 1; j <= same[i].second; j++) if (s.empty()) s += 'R'; else s += s.back(); } for (int i = (s.empty() ? 0 : same.back().second + 1); i < n; i++) if (s.empty()) s += 'R'; else if (s.back() == 'R') s += 'B'; else s += 'R'; vector<int> v2; for (auto p : same) v2.push_back(p.first), v2.push_back(p.second); for (int i = 0; i < r; i++) { if (x[i] == 1) continue; if (a[i] == b[i]) return 0; int pos = upper_bound(v2.begin(), v2.end(), a[i]) - v2.begin() - 1; if (pos != -1 && pos % 2 == 0 && b[i] <= v2[pos + 1]) return 0; } craft(s); return 1; }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 256 KB | Output is correct |
2 | Correct | 0 ms | 256 KB | Output is correct |
3 | Correct | 0 ms | 256 KB | Output is correct |
4 | Correct | 5 ms | 768 KB | Output is correct |
5 | Correct | 263 ms | 17376 KB | Output is correct |
6 | Correct | 265 ms | 17504 KB | Output is correct |
7 | Correct | 262 ms | 17632 KB | Output is correct |
8 | Correct | 261 ms | 17376 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 256 KB | Output is correct |
2 | Correct | 0 ms | 256 KB | Output is correct |
3 | Correct | 4 ms | 640 KB | Output is correct |
4 | Correct | 197 ms | 13232 KB | Output is correct |
5 | Correct | 204 ms | 13232 KB | Output is correct |
6 | Correct | 202 ms | 13204 KB | Output is correct |
7 | Correct | 204 ms | 13208 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 256 KB | Output is correct |
2 | Correct | 1 ms | 288 KB | Output is correct |
3 | Correct | 1 ms | 256 KB | Output is correct |
4 | Correct | 0 ms | 256 KB | Output is correct |
5 | Correct | 1 ms | 256 KB | Output is correct |
6 | Correct | 0 ms | 256 KB | Output is correct |
7 | Correct | 0 ms | 256 KB | Output is correct |
8 | Correct | 0 ms | 256 KB | Output is correct |
9 | Correct | 0 ms | 256 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 256 KB | Output is correct |
2 | Correct | 0 ms | 256 KB | Output is correct |
3 | Correct | 1 ms | 256 KB | Output is correct |
4 | Correct | 1 ms | 256 KB | Output is correct |
5 | Correct | 2 ms | 384 KB | Output is correct |
6 | Correct | 1 ms | 384 KB | Output is correct |
7 | Correct | 1 ms | 384 KB | Output is correct |
8 | Correct | 1 ms | 384 KB | Output is correct |
9 | Correct | 1 ms | 384 KB | Output is correct |
10 | Correct | 1 ms | 384 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 256 KB | Output is correct |
2 | Correct | 0 ms | 256 KB | Output is correct |
3 | Correct | 0 ms | 256 KB | Output is correct |
4 | Correct | 5 ms | 768 KB | Output is correct |
5 | Correct | 263 ms | 17376 KB | Output is correct |
6 | Correct | 265 ms | 17504 KB | Output is correct |
7 | Correct | 262 ms | 17632 KB | Output is correct |
8 | Correct | 261 ms | 17376 KB | Output is correct |
9 | Correct | 0 ms | 256 KB | Output is correct |
10 | Correct | 0 ms | 256 KB | Output is correct |
11 | Correct | 4 ms | 640 KB | Output is correct |
12 | Correct | 197 ms | 13232 KB | Output is correct |
13 | Correct | 204 ms | 13232 KB | Output is correct |
14 | Correct | 202 ms | 13204 KB | Output is correct |
15 | Correct | 204 ms | 13208 KB | Output is correct |
16 | Correct | 1 ms | 256 KB | Output is correct |
17 | Correct | 1 ms | 288 KB | Output is correct |
18 | Correct | 1 ms | 256 KB | Output is correct |
19 | Correct | 0 ms | 256 KB | Output is correct |
20 | Correct | 1 ms | 256 KB | Output is correct |
21 | Correct | 0 ms | 256 KB | Output is correct |
22 | Correct | 0 ms | 256 KB | Output is correct |
23 | Correct | 0 ms | 256 KB | Output is correct |
24 | Correct | 0 ms | 256 KB | Output is correct |
25 | Correct | 0 ms | 256 KB | Output is correct |
26 | Correct | 0 ms | 256 KB | Output is correct |
27 | Correct | 1 ms | 256 KB | Output is correct |
28 | Correct | 1 ms | 256 KB | Output is correct |
29 | Correct | 2 ms | 384 KB | Output is correct |
30 | Correct | 1 ms | 384 KB | Output is correct |
31 | Correct | 1 ms | 384 KB | Output is correct |
32 | Correct | 1 ms | 384 KB | Output is correct |
33 | Correct | 1 ms | 384 KB | Output is correct |
34 | Correct | 1 ms | 384 KB | Output is correct |
35 | Correct | 6 ms | 1484 KB | Output is correct |
36 | Correct | 7 ms | 1620 KB | Output is correct |
37 | Correct | 15 ms | 1980 KB | Output is correct |
38 | Correct | 250 ms | 15596 KB | Output is correct |
39 | Correct | 236 ms | 15596 KB | Output is correct |
40 | Correct | 263 ms | 15592 KB | Output is correct |
41 | Correct | 256 ms | 15576 KB | Output is correct |
42 | Correct | 248 ms | 15464 KB | Output is correct |