Submission #1104769

#TimeUsernameProblemLanguageResultExecution timeMemory
1104769abushbandit_Table Tennis (info1cup20_tabletennis)C++17
87 / 100
3069 ms9544 KiB
#pragma GCC target("avx,avx2,fma") #pragma GCC optimize("Ofast,unroll-loops") #include "bits/stdc++.h" using namespace std; //~ #ifndef ONLINE_JUDGE //~ #include "debug.h" //~ #else //~ #define debug(...) //~ #define debugArr(...) //~ #endif //~ #define int long long #define all(x) x.begin(),x.end() #define ff first #define ss second #define pb push_back template<class T, class U> inline bool chmin(T& a, const U& b) { if (a > b) { a = b; return true; } return false; } template<class T, class U> inline bool chmax(T& a, const U& b) { if (a < b) { a = b; return true; } return false; } const int inf = 1e9; const int mod = 1e9 + 7; const int N = 1e5 + 5; void solve() { int n,k; cin >> n >> k; int m = n; n += k; int a[n + 1]; for(int i = 1;i <= n;i++) cin >> a[i]; for(int l = 1;l <= k + 1;l++) { int rem = (k + 1) - l; for(int r = n;r >= n - rem;r--) { if(r - l + 1 < m) { continue; } int cnt = 0; int nl = l,nr = r; int sum = a[r] + a[l]; while(l < r) { if(a[r] + a[l] == sum) { r--; l++; cnt += 2; } else if(a[r] + a[l] > sum) { r--; } else { l++; } } l = nl,r = nr; if(cnt == m) { set<int> ans; while(l < r) { if(a[r] + a[l] == sum) { ans.insert(a[r]); ans.insert(a[l]); r--; l++; } else if(a[r] + a[l] > sum) { r--; } else { l++; } } for(auto i : ans) cout << i << " "; return; } } } } signed main() { ios_base::sync_with_stdio(false); cin.tie(nullptr);cout.tie(nullptr); int t = 1; //~ cin >> t; while(t--) { solve(); } }
#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...