| # | Time | Username | Problem | Language | Result | Execution time | Memory |
|---|---|---|---|---|---|---|---|
| 1346531 | bakhtiyarn | Table Tennis (info1cup20_tabletennis) | C++20 | 13 ms | 3136 KiB |
#include <bits/stdc++.h>
using namespace std;
const int N = 3e5+5;
int a[N];
int n, k;
vector<int> build(int l, int r, int sm){
vector<int> ans;
while(l < r){
if(a[l] + a[r] > sm) r--;
else if(a[l]+a[r] < sm) break;
else {
ans.push_back(a[l++]);
r--;
}
}
if(ans.size()*2 < n) return {};
while(ans.size()*2 > n) ans.pop_back();
int sz = ans.size();
for(int i=sz-1; i>=0; i--) ans.push_back(sm-ans[i]);
return ans;
}
// for(int i=1; i<=n; i++)
void solve(){
cin >> n >> k;
for(int i=1; i<=n+k; i++) cin >> a[i];
for(int l=1; l<=2+k; l++){
for(int r=n-2; r<=n+k; r++){
if(l >= r) continue;
int sm = a[l] + a[r];
if(r-l+1 < n) continue;
//
vector<int> ans = build(l, r, sm);
if(ans.size()) {
for(int i: ans) cout << i << " ";
return;
}
//
}
}
}
signed main() {
ios_base::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
solve();
}| # | 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... | ||||
