Submission #668141

#TimeUsernameProblemLanguageResultExecution timeMemory
668141definitelynotmeeTable Tennis (info1cup20_tabletennis)C++98
9 / 100
3073 ms112944 KiB
#include<bits/stdc++.h> using namespace std; #define ff first #define ss second #define all(x) x.begin(), x.end() using ll = long long; using pii = pair<int,int>; using pll = pair<ll,ll>; template<typename T> using matrix = vector<vector<T>>; struct hashzao{ int operator()(const int& i) const{ return i^981723478; } }; int main(){ cin.tie(0)->sync_with_stdio(0); int n, k; cin >> n >> k; vector<int> v(n+k); for(int i = 0; i < n+k; i++) cin >> v[i]; unordered_map<int,int,hashzao> sums; int minmid = max(0,(n+k)/2-k/2-3), maxmid = min(n+k-1,(n+k)/2+k/2+3); for(int i = 0; i < (n+k)/2; i++){ int y = n+k-i-1; for(int j = max(i+1,y-k); j < min(n+k,y+k+1); j++) sums[v[i]+v[j]]++; } auto findans =[&](int sum){ int p1 = 0, p2 = n+k-1; vector<int> resp; while(p1 < p2){ if(v[p1] + v[p2] > sum){ p2--; continue; } if(v[p1] + v[p2] < sum){ p1++; continue; } resp.push_back(v[p1]), resp.push_back(v[p2]); p1++, p2--; } sort(all(resp)); for(int i = 0; i < n; i++) cout << resp[i] << ' '; cout << '\n'; }; for(pii i : sums){ if(i.ss < n/2) continue; int sum = i.ff; int resp = 0; int p1 = 0, p2 = n+k-1; while(p1 < p2){ if(v[p1] + v[p2] > sum){ p2--; continue; } if(v[p1] + v[p2] < sum){ p1++; continue; } p1++, p2--; resp++; } //cout << sum << ' ' << resp << '\n'; if(resp >= n/2){ findans(sum); return 0; } } //exit(1); }

Compilation message (stderr)

tabletennis.cpp: In function 'int main()':
tabletennis.cpp:31:9: warning: unused variable 'minmid' [-Wunused-variable]
   31 |     int minmid = max(0,(n+k)/2-k/2-3), maxmid = min(n+k-1,(n+k)/2+k/2+3);
      |         ^~~~~~
tabletennis.cpp:31:40: warning: unused variable 'maxmid' [-Wunused-variable]
   31 |     int minmid = max(0,(n+k)/2-k/2-3), maxmid = min(n+k-1,(n+k)/2+k/2+3);
      |                                        ^~~~~~
#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...