#include <iostream>
#include <algorithm>
#define int long long
using namespace std;
//ifstream cin("test.in");
//ofstream cout("test.out");
int n, k;
int v[200005];
pair<int, int> rez[200005];
bool possible(int sum)
{
int st = 0, dr = n + k - 1, cnt = 0;
while (st < dr && cnt < n / 2 && (dr - st + 1) / 2 + cnt >= n / 2) {
if (v[st] + v[dr] == sum)
rez[cnt++] = {st++, dr--};
else if (v[st] + v[dr] < sum)
st++;
else dr--;
}
return cnt >= n / 2;
}
void solve()
{
bool ok = false;
for(int i = 0; i <= k && !ok; i++)
for(int j = n - 1; j < n + k && !ok; j++)
if(i < j && possible(v[i] + v[j]))
ok = true;
sort(rez, rez + (n / 2));
for(int i = 0; i < n / 2; i++)
cout<<v[rez[i].first]<<" ";
for(int i = n / 2 - 1; i >= 0; i--)
cout<<v[rez[i].second]<<" ";
return;
}
signed main()
{
cin>>n>>k;
for(int i = 0; i < n + k; i++)
cin>>v[i];
solve();
return 0;
}
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
1 ms |
340 KB |
Output is correct |
2 |
Correct |
1 ms |
340 KB |
Output is correct |
3 |
Correct |
1 ms |
340 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
9 ms |
724 KB |
Output is correct |
2 |
Correct |
68 ms |
5548 KB |
Output is correct |
3 |
Correct |
68 ms |
5544 KB |
Output is correct |
4 |
Correct |
66 ms |
5508 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
65 ms |
4072 KB |
Output is correct |
2 |
Correct |
65 ms |
4048 KB |
Output is correct |
3 |
Correct |
98 ms |
5500 KB |
Output is correct |
4 |
Correct |
67 ms |
5528 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
0 ms |
212 KB |
Output is correct |
2 |
Correct |
2 ms |
212 KB |
Output is correct |
3 |
Correct |
1 ms |
212 KB |
Output is correct |
4 |
Correct |
2 ms |
308 KB |
Output is correct |
5 |
Correct |
1 ms |
308 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
1 ms |
212 KB |
Output is correct |
2 |
Correct |
1 ms |
212 KB |
Output is correct |
3 |
Correct |
1 ms |
212 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
0 ms |
212 KB |
Output is correct |
2 |
Correct |
2 ms |
320 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 |
320 KB |
Output is correct |
6 |
Correct |
2 ms |
340 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
0 ms |
212 KB |
Output is correct |
2 |
Correct |
69 ms |
4228 KB |
Output is correct |
3 |
Correct |
66 ms |
5452 KB |
Output is correct |
4 |
Correct |
65 ms |
5524 KB |
Output is correct |
5 |
Correct |
66 ms |
5484 KB |
Output is correct |
6 |
Correct |
68 ms |
5580 KB |
Output is correct |
7 |
Correct |
66 ms |
5580 KB |
Output is correct |
8 |
Correct |
66 ms |
5468 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
1 ms |
212 KB |
Output is correct |
2 |
Correct |
162 ms |
4228 KB |
Output is correct |
3 |
Correct |
66 ms |
5508 KB |
Output is correct |
4 |
Correct |
113 ms |
5452 KB |
Output is correct |
5 |
Correct |
71 ms |
5420 KB |
Output is correct |
6 |
Correct |
69 ms |
5580 KB |
Output is correct |
7 |
Correct |
152 ms |
5564 KB |
Output is correct |
8 |
Correct |
68 ms |
5480 KB |
Output is correct |