# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
735089 | NintsiChkhaidze | Table Tennis (info1cup20_tabletennis) | C++17 | 103 ms | 12728 KiB |
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>
#define pb push_back
#define f first
#define s second
#define int long long
using namespace std;
const int N = 2e5+5,inf = 1e9;
int a[N],n,k;
vector <int> v;
void check(int sum){
v.clear();
int r = n + k;
for (int i = 1; i <= n + k; i++){
while (i < r){
if (a[i] + a[r] > sum) {
r--;
continue;
}
break;
}
if (i < r && a[i] + a[r] == sum){
v.pb(a[i]),v.pb(a[r]);
r--;
}
}
if (v.size() == n){
sort(v.begin(),v.end());
for (int x: v) cout<<x<<" ";
cout<<endl;
exit(0);
}
}
signed main (){
ios_base::sync_with_stdio(0),cin.tie(NULL),cout.tie(NULL);
cin>>n>>k;
for (int i = 1; i <= n+k;i++)
cin>>a[i];
if (n <= 4*k){
for (int i = 1; i <= k+1; i++){
int c=0;
for (int j = n + k; j > i; j--){
++c;
if (c > k+1) break;
check(a[i] + a[j]);
}
}
exit(0);
}
vector <int> vec;
for (int i = 1; i <= 2*k; i++){
int c=0;
for (int j = n + k; j > i; j--){
++c;
if (c > 2*k) break;
vec.pb(a[i]+a[j]);
}
}
sort(vec.begin(),vec.end());
int cnt=0;
for (int i = 0; i < vec.size(); i++){
if (i && vec[i] != vec[i - 1]){
if (cnt >= k) check(vec[i - 1]);
cnt=0;
}
++cnt;
}
if (cnt >= k) check(vec.back());
}
/*
6 1
1 3 4 5 6 8 431
*/
Compilation message (stderr)
# | 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... |