# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
499885 | 2021-12-29T21:54:50 Z | jesus_coconut | Table Tennis (info1cup20_tabletennis) | C++17 | 3000 ms | 3716 KB |
#include <bits/stdc++.h> #define pb push_back #define all(a) begin(a), end(a) using namespace std; int n, k; vector<int> v; vector<int> dif; void load() { cin >> n >> k; v.resize(n + k); for (auto &it : v) cin >> it; } vector<int> ans; map<pair<int, int>, int> mp; bool solve(int sl, int sr) { int l = sl, r = sr; if (l >= r) return false; ans.clear(); ans.pb(v[l]); ans.pb(v[r]); while (l < r) { if (mp.count({l, r})) { mp[{sl, sr}] = mp[{l, r}] + ans.size(); if (mp[{sl, sr}] < n) return false; } int cl = dif[l+1]; int cr = dif[r]; int pl = l, pr = r; while (cl != cr && l < r) { if (cl < cr) { l++; cl += dif[l+1]; } else { r--; cr += dif[r]; } } ++l; --r; if (l >= r) break; if (cl == cr) { ans.pb(v[l]); ans.pb(v[r]); } if (ans.size() == n) return true; } mp[{sl, sr}] = ans.size(); return false; } void solve() { for (int i = 0; i <= k; ++i) { for (int j = 0; j <= k - i; ++j) { if (solve(i, n + k - 1 - j)) { sort(all(ans)); for (auto &it: ans) cout << it << ' '; return; }; } } } int main() { ios::sync_with_stdio(false); cin.tie(nullptr); load(); sort(all(v)); dif.resize(size(v)); adjacent_difference(all(v), begin(dif)); solve(); return 0; }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 332 KB | Output is correct |
2 | Correct | 1 ms | 332 KB | Output is correct |
3 | Correct | 1 ms | 332 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 5 ms | 812 KB | Output is correct |
2 | Correct | 38 ms | 3632 KB | Output is correct |
3 | Correct | 33 ms | 3588 KB | Output is correct |
4 | Correct | 34 ms | 3600 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 37 ms | 3596 KB | Output is correct |
2 | Correct | 33 ms | 3684 KB | Output is correct |
3 | Correct | 33 ms | 3716 KB | Output is correct |
4 | Correct | 34 ms | 3644 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 204 KB | Output is correct |
2 | Correct | 2 ms | 588 KB | Output is correct |
3 | Correct | 0 ms | 204 KB | Output is correct |
4 | Correct | 2 ms | 460 KB | Output is correct |
5 | Correct | 0 ms | 204 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 204 KB | Output is correct |
2 | Correct | 0 ms | 204 KB | Output is correct |
3 | Correct | 0 ms | 204 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 204 KB | Output is correct |
2 | Correct | 1 ms | 332 KB | Output is correct |
3 | Correct | 1 ms | 332 KB | Output is correct |
4 | Correct | 1 ms | 332 KB | Output is correct |
5 | Correct | 1 ms | 332 KB | Output is correct |
6 | Correct | 1 ms | 332 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 204 KB | Output is correct |
2 | Correct | 162 ms | 3712 KB | Output is correct |
3 | Correct | 47 ms | 3588 KB | Output is correct |
4 | Correct | 56 ms | 3672 KB | Output is correct |
5 | Correct | 46 ms | 3596 KB | Output is correct |
6 | Correct | 56 ms | 3656 KB | Output is correct |
7 | Correct | 54 ms | 3688 KB | Output is correct |
8 | Correct | 33 ms | 3668 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 332 KB | Output is correct |
2 | Execution timed out | 3082 ms | 1920 KB | Time limit exceeded |
3 | Halted | 0 ms | 0 KB | - |