이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include <bits/stdc++.h>
using namespace std;
void main_program();
signed main(){
ios_base::sync_with_stdio(0); cin.tie(0);
main_program();
}
int n, k;
vector<int> v;
// map<int, int> mp;
vector<int> s;
void main_program(){
cin >> n >> k;
v.resize(n + k); for (auto &i: v) cin >> i;
s.resize((n+k) * k * 2 + 100);
int crr = 0;
int lim = n/2;
if (n + k < 4 * k){
for (int i = 0; i < n+k; i++){
// X = (n+k-1) - j
// i-k <= X <= i+k
// i-k <= (n+k-1) - j <= i+k
// j <= (n+k-1) + k - i
// j >= (n+k-1) - k - i
int lb = max(i+1, (n+k-1) - k - i), rb = min(n+k-1, (n+k-1) + k - i);
for (int j = lb; j <= rb; j++){
// cout << ":: " << i << " " << j << "\n";
// mp[v[i] + v[j]]++;
s[crr++] = v[i] + v[j];
}
}
}
else{
lim = k;
for (int i = 0; i < k * 2; i++){
for (int j = n+k - 1; j >= n-k; j++){
s[crr++] = v[i] + v[j];
}
}
}
s[crr++] = 2'000'000'010;
sort(s.begin(), s.begin() + crr);
int ttcnt = 0;
int prev = -1;
for (int _i = 0; _i < crr; _i++){
if (s[_i] != prev){
prev = s[_i]; ttcnt = 0;
}
if (s[_i] == prev) ttcnt++;
if (ttcnt >= lim){
set<int> tmp;
for (auto i: v) tmp.insert(i);
vector<int> res;
for (auto i: tmp){
if (tmp.count(prev - i)) res.push_back(i);
if ((int)res.size() >= n/2) break;
}
for (int i = 0; i < n/2; i++) cout << res[i] << " ";
for (int i = n/2 - 1; i >= 0; i--) cout << prev - res[i] << " ";
cout << "\n";
return;
}
}
}
# | 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... |