제출 #1161327

#제출 시각아이디문제언어결과실행 시간메모리
116132712345678Table Tennis (info1cup20_tabletennis)C++20
87 / 100
3095 ms4936 KiB
#include <bits/stdc++.h> using namespace std; const int nx=2e5+5, kx=405; int n, k, sz, dp[nx]; vector<int> v ,res; set<int> s; int main() { cin.tie(NULL)->sync_with_stdio(false); cin>>n>>k; sz=n+k; v.resize(sz); for (auto &x:v) cin>>x; for (int l=0; l<=k; l++) for (int r=0; r+l<=k; r++) s.insert(v[l]+v[sz-1-r]); for (auto sm:s) { int idx=sz-1, cnt=0; for (int i=0; i<sz; i++) { dp[i]=-1; while (idx>i&&v[i]+v[idx]>sm) idx--; if (idx<=i) break; if (v[i]+v[idx]==sm) dp[i]=idx, cnt+=2; } //cout<<"sm "<<sm<<' '<<cnt<<'\n'; if (cnt>=n) { cnt=n; for (int i=0; i<sz; i++) { if (!cnt) continue; if (dp[i]!=-1) { res.push_back(v[i]); res.push_back(v[dp[i]]); cnt-=2; } } sort(res.begin(), res.end()); for (auto x:res) cout<<x<<' '; return 0; } } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...