// 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 {
unordered_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 |
588 KB |
Output is correct |
2 |
Correct |
28 ms |
2864 KB |
Output is correct |
3 |
Correct |
28 ms |
2984 KB |
Output is correct |
4 |
Correct |
28 ms |
2884 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
29 ms |
2952 KB |
Output is correct |
2 |
Correct |
28 ms |
2908 KB |
Output is correct |
3 |
Correct |
28 ms |
2948 KB |
Output is correct |
4 |
Correct |
29 ms |
2912 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 |
0 ms |
204 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
204 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 |
204 KB |
Output is correct |
2 |
Correct |
1 ms |
332 KB |
Output is correct |
3 |
Correct |
1 ms |
332 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 |
28 ms |
2936 KB |
Output is correct |
3 |
Correct |
31 ms |
2944 KB |
Output is correct |
4 |
Correct |
30 ms |
2888 KB |
Output is correct |
5 |
Correct |
27 ms |
2932 KB |
Output is correct |
6 |
Correct |
28 ms |
2880 KB |
Output is correct |
7 |
Correct |
28 ms |
2936 KB |
Output is correct |
8 |
Correct |
27 ms |
2884 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
204 KB |
Output is correct |
2 |
Correct |
219 ms |
26856 KB |
Output is correct |
3 |
Correct |
222 ms |
28076 KB |
Output is correct |
4 |
Correct |
184 ms |
25352 KB |
Output is correct |
5 |
Correct |
72 ms |
8916 KB |
Output is correct |
6 |
Correct |
38 ms |
3268 KB |
Output is correct |
7 |
Correct |
153 ms |
23104 KB |
Output is correct |
8 |
Correct |
184 ms |
24756 KB |
Output is correct |