제출 #1161403

#제출 시각아이디문제언어결과실행 시간메모리
116140312345678Table Tennis (info1cup20_tabletennis)C++20
100 / 100
141 ms3520 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; 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++) { int idxl=l, idxr=sz-1-r, idx=idxr, sm=v[idxl]+v[idxr], cnt=0, qt=k-l-r; for (int i=idxl; i<=idxr; i++) { dp[i]=-1; while (idx>idxl&&v[i]+v[idx]>sm) idx--; if (i>idx) break; if (v[i]+v[idx]==sm) dp[i]=idx, cnt+=2; else qt--; if (qt<0) break; } if (cnt>=n) { cnt=n; for (int i=idxl; i<=idxr; 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...