This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
#define ld long double
#define cff c.first.first
#define cfs c.first.second
#define cs c.second
#define cf c.first
#define csf c.second.first
#define css c.second.second
const ll N = 150005;
map<pair<int,int>,ll>mp;
map<ll,int>cnt;
map<pair<int,int>,ll>final;
set<int>alr;
multiset<ll>ans;
vector<pair<ll,pair<int,int>>>vtemp;
void print(vector<ll> &v) {
for (auto c:v)
cout << c << " ";
}
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
int n,k;
cin >> n >> k;
vector<ll>v(n+k);
for (int i = 0; i < n+k; ++i)
cin >> v[i];
int start = n+k-1;
int end = n-1;
for (int i = 0; i < n/2; ++i) {
for (int j = start; j >= end; --j) {
mp[{i,j}] = v[i]+v[j];
}
end--;
start--;
}
for (auto c:mp)
cnt[cs]++;
for (auto c:mp) {
if (cnt[cs]==n/2)
final[cf] = cs;
}
for (auto c:final)
vtemp.push_back({cs,cf});
sort(vtemp.begin(),vtemp.end());
int cnt = 0;
for (auto c:vtemp) {
if (!alr.count(csf) && !alr.count(css)) {
alr.insert(csf);
alr.insert(css);
cnt += 2;
}
if (cnt==n && alr.size()!=n) {
alr.clear();
}
else if (cnt==n && alr.size()==n)
break;
}
for (auto c:alr)
ans.insert(v[c]);
for (auto c:ans)
cout << c << " ";
}
Compilation message (stderr)
tabletennis.cpp: In function 'int main()':
tabletennis.cpp:61:27: warning: comparison of integer expressions of different signedness: 'std::set<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
61 | if (cnt==n && alr.size()!=n) {
| ~~~~~~~~~~^~~
tabletennis.cpp:64:32: warning: comparison of integer expressions of different signedness: 'std::set<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
64 | else if (cnt==n && alr.size()==n)
| ~~~~~~~~~~^~~
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |