제출 #349376

#제출 시각아이디문제언어결과실행 시간메모리
349376Sho10Table Tennis (info1cup20_tabletennis)C++17
34 / 100
115 ms9196 KiB
#include <bits/stdc++.h> //Andrei Alexandru a.k.a Sho10 #define ll long long #define double long double #pragma GCC optimize("O3") #pragma GCC optimize("Ofast") #define aint(a) (a).begin(), (a).end() #define f first #define s second #define pb push_back #define mp make_pair #define pi pair #define rc(s) return cout<<s,0 #define endl '\n' #define mod 1000000007 #define PI 3.14159265359 #define MAXN 100005 #define INF 1000000005 #define LINF 1000000000000000005ll #define CODE_START ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0); using namespace std; ll n,k,a[200005]; vector<ll>v; map<ll,ll>viz; ll check(ll sum){ ll l=1,r=n+k; v.clear(); ll cnt=0; while(l<r){ if(a[l]+a[r]==sum){ v.pb(a[l]); v.pb(a[r]); l++; r--; cnt++; }else if(a[l]+a[r]<sum){ l++; }else { r--; } } if(cnt>=n/2){ return 1; }else return 0; } int32_t main(){ CODE_START; cin>>n>>k; for(ll i=1;i<=n+k;i++) { cin>>a[i]; } for(ll i=1;i<=2*k;i++) { for(ll j=n-k;j<=n+k;j++) { viz[a[i]+a[j]]++; } } for(auto it : viz){ if(it.s<k){ continue; } ll s1=check(it.f); if(s1==1){ sort(v.begin(),v.end()); for(auto x : v){ 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...