Submission #349378

# Submission time Handle Problem Language Result Execution time Memory
349378 2021-01-17T13:18:58 Z Sho10 Table Tennis (info1cup20_tabletennis) C++17
100 / 100
406 ms 44892 KB
#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;
	}
}
for(auto it : viz){
	ll s1=check(it.f);
	if(s1==1){
		sort(v.begin(),v.end());
		for(auto x : v){
			cout<<x<<' ';
		}
		return 0;
	}
}
}
# Verdict Execution time Memory Grader output
1 Correct 1 ms 364 KB Output is correct
2 Correct 1 ms 364 KB Output is correct
3 Correct 1 ms 364 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 6 ms 1008 KB Output is correct
2 Correct 44 ms 4324 KB Output is correct
3 Correct 41 ms 4324 KB Output is correct
4 Correct 41 ms 4324 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 40 ms 4324 KB Output is correct
2 Correct 41 ms 4324 KB Output is correct
3 Correct 40 ms 4344 KB Output is correct
4 Correct 40 ms 4324 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 6 ms 1388 KB Output is correct
2 Correct 5 ms 1260 KB Output is correct
3 Correct 6 ms 1260 KB Output is correct
4 Correct 5 ms 1260 KB Output is correct
5 Correct 5 ms 1260 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 364 KB Output is correct
2 Correct 1 ms 512 KB Output is correct
3 Correct 1 ms 364 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 364 KB Output is correct
2 Correct 1 ms 492 KB Output is correct
3 Correct 1 ms 492 KB Output is correct
4 Correct 1 ms 492 KB Output is correct
5 Correct 1 ms 492 KB Output is correct
6 Correct 1 ms 364 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 364 KB Output is correct
2 Correct 47 ms 4444 KB Output is correct
3 Correct 40 ms 4316 KB Output is correct
4 Correct 44 ms 4444 KB Output is correct
5 Correct 42 ms 4324 KB Output is correct
6 Correct 41 ms 4320 KB Output is correct
7 Correct 43 ms 4444 KB Output is correct
8 Correct 43 ms 4572 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 106 ms 9068 KB Output is correct
2 Correct 406 ms 41308 KB Output is correct
3 Correct 353 ms 44892 KB Output is correct
4 Correct 258 ms 39648 KB Output is correct
5 Correct 157 ms 14944 KB Output is correct
6 Correct 78 ms 6108 KB Output is correct
7 Correct 251 ms 35036 KB Output is correct
8 Correct 232 ms 38116 KB Output is correct