# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
423965 | 2021-06-11T14:48:46 Z | pavement | Table Tennis (info1cup20_tabletennis) | C++17 | 3000 ms | 3052 KB |
#include <bits/stdc++.h> #include <ext/pb_ds/assoc_container.hpp> #include <ext/pb_ds/tree_policy.hpp> using namespace std; using namespace __gnu_pbds; #ifdef _WIN32 #define getchar_unlocked _getchar_nolock #endif //#define int long long #define mp make_pair #define mt make_tuple #define pb push_back #define ppb pop_back #define eb emplace_back #define g0(a) get<0>(a) #define g1(a) get<1>(a) #define g2(a) get<2>(a) #define g3(a) get<3>(a) mt19937 rng(37993); typedef double db; typedef long long ll; typedef long double ld; typedef pair<int, int> ii; typedef tuple<int, int, int> iii; typedef tuple<int, int, int, int> iiii; typedef tree<iii, null_type, greater<iii>, rb_tree_tag, tree_order_statistics_node_update> ordered_set; int N, K, A[200005]; vector<ii> ord; set<int> seen; main() { ios::sync_with_stdio(0); cin.tie(0); cin >> N >> K; for (int i = 1; i <= N + K; i++) cin >> A[i]; for (int i = 0; i <= K; i++) for (int j = 0; i + j <= K; j++) if (i + 1 < N + K - j) ord.eb(i + 1, N + K - j); shuffle(ord.begin(), ord.end(), rng); for (auto [l, r] : ord) { register int S = A[l] + A[r], cnt = 0, _r = r; if (seen.count(S)) continue; seen.insert(S); for (int k = l; k < _r; k++) { while (k < _r && A[k] + A[_r] > S) _r--; if (A[k] + A[_r] == S) cnt += 2; } if (cnt >= N) { register int _r = r; vector<int> tmp; for (int k = l; k < r; k++) { while (k < _r && A[k] + A[_r] > S) _r--; if (A[k] + A[_r] == S) { tmp.pb(A[k]); tmp.pb(A[_r]); if (tmp.size() == N) break; } } sort(tmp.begin(), tmp.end()); for (int k : tmp) cout << k << ' '; cout << '\n'; 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 | Incorrect | 7 ms | 716 KB | Output not subsequence of input |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 43 ms | 3000 KB | Output is correct |
2 | Correct | 44 ms | 3052 KB | Output is correct |
3 | Correct | 44 ms | 3020 KB | Output is correct |
4 | Correct | 42 ms | 3040 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 3 ms | 460 KB | Output is correct |
2 | Correct | 2 ms | 460 KB | Output is correct |
3 | Correct | 3 ms | 460 KB | Output is correct |
4 | Correct | 3 ms | 432 KB | Output is correct |
5 | Correct | 3 ms | 460 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 332 KB | Output is correct |
2 | Correct | 0 ms | 204 KB | Output is correct |
3 | Correct | 1 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 | Incorrect | 2 ms | 332 KB | Output not subsequence of input |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 204 KB | Output is correct |
2 | Incorrect | 170 ms | 880 KB | Unexpected end of file - int32 expected |
3 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 17 ms | 1484 KB | Output is correct |
2 | Execution timed out | 3075 ms | 2024 KB | Time limit exceeded |
3 | Halted | 0 ms | 0 KB | - |