// 100/100
#include <bits/stdc++.h>
using namespace std;
#define EmiliaMyWife ios::sync_with_stdio(0); cin.tie(0);
using ll = int64_t;
using uint = uint32_t;
using ull = uint64_t;
using ld = long double;
const int INF = 0x3f3f3f3f;
const int MOD = 1e9 + 7;
const double EPS = 1e-8;
const ll LINF = ll(1e18) + ll(1e15);
static auto LamyIsCute = []() {
EmiliaMyWife
return 48763;
}();
signed main() {
int n, k;
cin >> n >> k;
vector<int> arr(n + k);
for(int &x : arr)
cin >> x;
const int m = n + k;
vector<int> ans;
ans.reserve(n);
auto run = [&](int s) {
int rest = k, l = 0, r = m - 1;
while(rest >= 0 && ans.size() < n) {
if(arr[l] + arr[r] == s) {
ans.push_back(arr[l]);
ans.push_back(arr[r]);
l++;
r--;
}
else if(arr[l] + arr[r] > s)
rest--, r--;
else
rest--, l++;
}
};
if(m <= 4 * k) {
for(int i = 0; i <= k; i++) {
for(int j = 0; j + i <= k; j++) {
run(arr[i] + arr[m - j - 1]);
if(ans.size() == n) {
sort(ans.begin(), ans.end());
for(int a : ans)
cout << a << ' ';
cout << '\n';
return 0;
}
ans.clear();
}
}
}
else {
map<int, int> cnt;
for(int i = 0; i < 2 * k; i++)
for(int j = 0; j < 2 * k; j++)
cnt[arr[i] + arr[m - j - 1]]++;
for(const auto &[s, c] : cnt) {
if(c >= k) {
run(s);
if(ans.size() == n) {
sort(ans.begin(), ans.end());
for(int a : ans)
cout << a << ' ';
cout << '\n';
return 0;
}
ans.clear();
}
}
}
}
Compilation message
tabletennis.cpp: In lambda function:
tabletennis.cpp:30:33: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
30 | while(rest >= 0 && ans.size() < n) {
| ~~~~~~~~~~~^~~
tabletennis.cpp: In function 'int main()':
tabletennis.cpp:47:19: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
47 | if(ans.size() == n) {
| ~~~~~~~~~~~^~~~
tabletennis.cpp:66:19: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
66 | if(ans.size() == n) {
| ~~~~~~~~~~~^~~~
# |
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 |
Correct |
4 ms |
844 KB |
Output is correct |
2 |
Correct |
31 ms |
4380 KB |
Output is correct |
3 |
Correct |
36 ms |
4356 KB |
Output is correct |
4 |
Correct |
31 ms |
4400 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
39 ms |
4348 KB |
Output is correct |
2 |
Correct |
30 ms |
4364 KB |
Output is correct |
3 |
Correct |
31 ms |
4436 KB |
Output is correct |
4 |
Correct |
31 ms |
4512 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
0 ms |
204 KB |
Output is correct |
2 |
Correct |
1 ms |
204 KB |
Output is correct |
3 |
Correct |
0 ms |
204 KB |
Output is correct |
4 |
Correct |
1 ms |
204 KB |
Output is correct |
5 |
Correct |
1 ms |
204 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
316 KB |
Output is correct |
2 |
Correct |
0 ms |
204 KB |
Output is correct |
3 |
Correct |
0 ms |
204 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
0 ms |
316 KB |
Output is correct |
2 |
Correct |
1 ms |
332 KB |
Output is correct |
3 |
Correct |
1 ms |
340 KB |
Output is correct |
4 |
Correct |
1 ms |
332 KB |
Output is correct |
5 |
Correct |
1 ms |
332 KB |
Output is correct |
6 |
Correct |
1 ms |
332 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
0 ms |
204 KB |
Output is correct |
2 |
Correct |
32 ms |
4444 KB |
Output is correct |
3 |
Correct |
32 ms |
4360 KB |
Output is correct |
4 |
Correct |
32 ms |
4340 KB |
Output is correct |
5 |
Correct |
31 ms |
4352 KB |
Output is correct |
6 |
Correct |
32 ms |
4420 KB |
Output is correct |
7 |
Correct |
32 ms |
4348 KB |
Output is correct |
8 |
Correct |
41 ms |
4400 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
2 ms |
204 KB |
Output is correct |
2 |
Correct |
343 ms |
31948 KB |
Output is correct |
3 |
Correct |
323 ms |
33660 KB |
Output is correct |
4 |
Correct |
208 ms |
29556 KB |
Output is correct |
5 |
Correct |
85 ms |
11220 KB |
Output is correct |
6 |
Correct |
57 ms |
4732 KB |
Output is correct |
7 |
Correct |
167 ms |
26368 KB |
Output is correct |
8 |
Correct |
167 ms |
28608 KB |
Output is correct |