Submission #696582

#TimeUsernameProblemLanguageResultExecution timeMemory
696582hazzleTable Tennis (info1cup20_tabletennis)C++17
14 / 100
3069 ms11684 KiB
#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; #define fi first #define se second #define all(m) (m).begin(), (m).end() #define rall(m) (m).rbegin(), (m).rend() #define vec vector #define sz(a) (int) (a).size() #define mpp make_pair #define mtt make_tuple typedef long long ll; typedef long double ld; typedef unsigned long long ull; typedef pair <int, int> pii; typedef tuple <int, int, int> tui; template <typename T> bool umin(T &a, T b) { return a > b ? a = b, 1 : 0; } template <typename T> bool umax(T &a, T b) { return a < b ? a = b, 1 : 0; } mt19937 rng((uint64_t) new char); int solve(){ int n, k; cin >> n >> k; int z = n + k; vec <int> a(z); for (auto &i: a) cin >> i; set <int> s(all(a)); auto get_ans = [&](int x){ vec <int> ans; for (int l = 0; l < z; ++l){ if (s.count(x - a[l]) && n){ ans.push_back(a[l]); ans.push_back(x - a[l]); s.erase(a[l]), n -= 2; } } sort(all(ans)); for (auto &l: ans) cout << l << " "; exit(0); }; if (n < k){ for (int i = 0; i < z; ++i){ for (int j = i + 1; j < z; ++j){ int x = a[i] + a[j]; int cnt = 0; for (int l = 0; l < z; ++l){ cnt += s.count(x - a[l]); } if (cnt >= n) get_ans(x); } } return 0; } while(true){ shuffle(all(a), rng); int ai = a[rng() % n]; for (auto &aj: a){ int x = ai + aj; bool fl = 1; for (int i = 0; i < k; ++i){ fl &= s.count(x - a[i]); } if (fl) get_ans(x); } } return 0; } signed main(){ ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); int tst = 1; //cin >> tst; while(tst--) solve(); return 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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...