This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
/*
#pragma GCC optimize("Ofast")
#pragma GCC target("avx,avx2,fma")
#pragma GCC optimize("unroll-loops")
*/
// lethal option
#include<bits/stdc++.h>
using namespace std;
#define all(flg) flg.begin(), flg.end()
#define int long long
#define pb push_back
#define fi first
#define se second
#define endl "\n"
#define eb emplace_back
#define ii pair<int, int>
#define iii pair<int, ii>
#define vi vector<int>
#define PI 3.141592653589793238462643383279502884
#define ll long long
#define ld long double
#define for1(i, ff, gg) for(int i = ff; i <= gg; ++i)
#define for2(i, ff, gg) for(int i = ff; i >= gg; --i)
const ll mod = 1e9 + 7;
const int maxN = 300005;
const ll oo = 1e18 + 7;
int n, a[maxN];
int x, y, z, k;
vector<int> cac;
map<int, int> mp;
int ans[maxN];
signed main(){
// freopen(".inp", "r", stdin);
ios_base::sync_with_stdio(0);
cin.tie(NULL);
cout.tie(NULL);
cin >> n >> k; n += k;
for1(i, 1, n) cin >> a[i];
if(n <= 2000){
for1(i, 1, n) for1(j, i + 1, n) cac.pb(a[i] + a[j]);
sort(all(cac)); cac.resize(unique(all(cac)) - cac.begin());
}
else{
for1(i, 1, k * 2) for2(j, n, n - k * 2 + 1) mp[a[i] + a[j]]++;
for(auto pr : mp) if(pr.se >= k) cac.pb(pr.fi);
}
for(int sum : cac){
int l = 1, r = n;
int res = 0;
int cnt = 0;
while(l != r){
int fx = a[l] + a[r];
if(fx == sum){
ans[cnt++] = l;
ans[cnt++] = r;
--r;
}
else if(fx < sum) ++l;
else --r;
}
if(cnt >= n - k){
n -= k;
sort(ans, ans + n);
for1(i, 0, n - 1) cout << ans[i] << " ";
cout << endl;
exit(0);
}
}
}
Compilation message (stderr)
tabletennis.cpp: In function 'int main()':
tabletennis.cpp:53:13: warning: unused variable 'res' [-Wunused-variable]
53 | int res = 0;
| ^~~
# | 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... |