Submission #1231978

#TimeUsernameProblemLanguageResultExecution timeMemory
1231978khomeTable Tennis (info1cup20_tabletennis)C++20
87 / 100
3095 ms4308 KiB
#include <bits/stdc++.h> using namespace std; #define int unsigned long long const int inf = 1e9; void solve(){ int n, k; cin >> n >> k; vector<int> a(n + k); for (int i = 0; i < n + k; i++ ) cin >> a[i]; sort(a.begin(), a.end()); set<int> st; auto check = [&](int x, int l, int r) -> void { vector<int> v; for (int i = l; i <= r; i++) { if (v.size() >= n) break; auto it = lower_bound(a.begin(), a.end(), x - a[i]); if (it != a.end() && *it == x - a[i] && a[i] < x - a[i]) { v.push_back(a[i]); v.push_back(x - a[i]); } } if (v.size() == n){ sort(v.begin(), v.end()); for (int i : v) cout << i << ' '; cout << endl; exit(0); } return; }; for (int i = 0; i < k + 1; i++ ) { for (int j = i + n - 1; j < n + k; j++) { if (st.find(a[i] + a[j]) == st.end()){ check(a[i] + a[j], i, j); st.insert(a[i] + a[j]); } } } } signed main(){ cin.tie(0) -> sync_with_stdio(0); int t = 1; // cin >> t; while (t--)solve(); }
#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...