#include <iostream>
#include <algorithm>
#include <vector>
#define int long long
using namespace std;
const int N = 15e4 + 410;
int a[N];
signed main()
{
srand(time(0));
int n, k;
cin >> n >> k;
for (int i = 1; i <= n + k; i++) {
cin >> a[i];
}
sort(a + 1, a + n + k + 1);
if (n * k * k <= 240000000) {
for (int i = 1; i <= k + 1; i++) {
for (int j = n + k; j >= i + n - 1; j--) {
int sm = a[i] + a[j], cnt = 0;
int k1 = i, k2 = j;
while (k1 < k2) {
if (a[k1] + a[k2] == sm) {
cnt++;
k1++;
k2--;
}
else if (a[k1] + a[k2] > sm) {
k2--;
}
else k1++;
}
if (cnt >= (n / 2)) {
k1 = i; k2 = j;
vector <int> v;
while (k1 < k2) {
if (a[k1] + a[k2] == sm) {
if (v.size() != n) {
v.push_back(a[k1]);
v.push_back(a[k2]);
}
cnt++;
k1++;
k2--;
}
else if (a[k1] + a[k2] > sm) {
k2--;
}
else k1++;
}
sort(v.begin(), v.end());
for (auto it : v) {
cout << it << " ";
}
cout << "\n";
return 0;
}
}
}
}
else {
while (1) {
int i = rand() % (n / 2) + 1;
for (int j = min(n + k, n + 2 * k + 1 - i); j >= (n + 1 - i); j--) {
int sm = a[i] + a[j];
int k1 = 1, k2 = n + k, cnt = 0;
while (k1 < k2) {
if (a[k1] + a[k2] == sm) {
cnt++;
k1++;
k2--;
}
else if (a[k1] + a[k2] > sm) {
k2--;
}
else k1++;
}
if (cnt >= (n / 2)) {
k1 = 1; k2 = n + k;
vector <int> v;
while (k1 < k2) {
if (a[k1] + a[k2] == sm) {
if (v.size() != n) {
v.push_back(a[k1]);
v.push_back(a[k2]);
}
cnt++;
k1++;
k2--;
}
else if (a[k1] + a[k2] > sm) {
k2--;
}
else k1++;
}
sort(v.begin(), v.end());
for (auto it : v) {
cout << it << " ";
}
cout << "\n";
return 0;
}
}
}
}
}
Compilation message
tabletennis.cpp: In function 'int main()':
tabletennis.cpp:38:42: warning: comparison of integer expressions of different signedness: 'std::vector<long long int>::size_type' {aka 'long unsigned int'} and 'long long int' [-Wsign-compare]
38 | if (v.size() != n) {
| ~~~~~~~~~^~~~
tabletennis.cpp:83:42: warning: comparison of integer expressions of different signedness: 'std::vector<long long int>::size_type' {aka 'long unsigned int'} and 'long long int' [-Wsign-compare]
83 | if (v.size() != n) {
| ~~~~~~~~~^~~~
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
2 ms |
340 KB |
Output is correct |
2 |
Correct |
1 ms |
320 KB |
Output is correct |
3 |
Correct |
1 ms |
340 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
8 ms |
980 KB |
Output is correct |
2 |
Correct |
64 ms |
4524 KB |
Output is correct |
3 |
Correct |
60 ms |
4348 KB |
Output is correct |
4 |
Correct |
59 ms |
4412 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
61 ms |
4472 KB |
Output is correct |
2 |
Correct |
61 ms |
4412 KB |
Output is correct |
3 |
Correct |
63 ms |
4428 KB |
Output is correct |
4 |
Correct |
59 ms |
4464 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
212 KB |
Output is correct |
2 |
Correct |
1 ms |
304 KB |
Output is correct |
3 |
Correct |
1 ms |
212 KB |
Output is correct |
4 |
Correct |
1 ms |
212 KB |
Output is correct |
5 |
Correct |
1 ms |
212 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
0 ms |
212 KB |
Output is correct |
2 |
Correct |
0 ms |
212 KB |
Output is correct |
3 |
Correct |
0 ms |
304 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
304 KB |
Output is correct |
2 |
Correct |
2 ms |
340 KB |
Output is correct |
3 |
Correct |
1 ms |
340 KB |
Output is correct |
4 |
Correct |
1 ms |
340 KB |
Output is correct |
5 |
Correct |
1 ms |
340 KB |
Output is correct |
6 |
Correct |
2 ms |
320 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
212 KB |
Output is correct |
2 |
Correct |
175 ms |
4480 KB |
Output is correct |
3 |
Correct |
69 ms |
4360 KB |
Output is correct |
4 |
Correct |
83 ms |
4440 KB |
Output is correct |
5 |
Correct |
60 ms |
4404 KB |
Output is correct |
6 |
Correct |
72 ms |
4456 KB |
Output is correct |
7 |
Correct |
80 ms |
4484 KB |
Output is correct |
8 |
Correct |
61 ms |
4380 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
2 ms |
212 KB |
Output is correct |
2 |
Correct |
63 ms |
5340 KB |
Output is correct |
3 |
Correct |
518 ms |
5572 KB |
Output is correct |
4 |
Correct |
160 ms |
5692 KB |
Output is correct |
5 |
Correct |
139 ms |
5556 KB |
Output is correct |
6 |
Correct |
59 ms |
5684 KB |
Output is correct |
7 |
Correct |
147 ms |
5588 KB |
Output is correct |
8 |
Correct |
153 ms |
5604 KB |
Output is correct |