Submission #1167585

#TimeUsernameProblemLanguageResultExecution timeMemory
1167585ByeWorldTable Tennis (info1cup20_tabletennis)C++20
100 / 100
105 ms7780 KiB
#include <bits/stdc++.h> #define int long long #define ll long long #define pb push_back #define fi first #define se second #define lf (id<<1) #define rg ((id<<1)|1) #define md ((l+r)>>1) #define ld long double using namespace std; typedef pair<int,int> pii; typedef pair<char,char> pcc; typedef pair<int,pii> ipii; typedef pair<pii,pii> ipiii; const int MAXN = 3e5+10; const int MAXA = 1e7+10; const int INF = 1e9+10; const int SQRT = 300; const int LOG = 20; const ld EPS = 1e-6; const int MOD = 1e9+7; int sum(int a, int b){ return (a+b)%MOD; } void chsum(int &a, int b){ a = (a+b)%MOD; } void chsub(int &a, int b){ a = (a+MOD-b)%MOD; } int mul(int a, int b){ return (a*b)%MOD; } void chmul(int &a, int b){ a = (a*b)%MOD; } void chmn(int &a, int b){ a = min(a, b); } void chmx(int &a, int b){ a = max(a, b); } int expo(int a, int b){ if(b==0) return 1; int te = expo(a, b/2); te = mul(te,te); return (b%2 ? mul(te,a) : te); } int n, k, a[MAXN]; vector <int> ans; unordered_map<int,bool> m; signed main(){ ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0); cin>>n>>k; for(int i=1; i<=n+k; i++) cin >> a[i]; for(int dif=1; dif<=k+1; dif++){ for(int i=1; i<=n+k; i++){ if(i+dif > n+k) break; int sum = a[i]+a[i+dif]; if(m.find(sum) != m.end()) continue; m[sum] = 1; ans.clear(); ans.pb(a[i]); ans.pb(a[i+dif]); int l=1, r=n+k; while(l<r){ if(l>=i || r<=i+dif) break; if(i-l + r-i-dif + ans.size() < n) break; if(a[l]+a[r] == sum){ ans.pb(a[l]); ans.pb(a[r]); l++; r--; } else if(a[l]+a[r] > sum) r--; else l++; } if(ans.size() == n) break; } if(ans.size() == n) break; } sort(ans.begin(), ans.end()); for(auto in : ans) cout << in << ' '; cout << '\n'; }
#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...