Submission #302791

# Submission time Handle Problem Language Result Execution time Memory
302791 2020-09-19T08:24:29 Z Sho10 Table Tennis (info1cup20_tabletennis) C++14
100 / 100
1664 ms 5948 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 all(a) (a).begin(), (a).end()
#define sz size
#define f first
#define s second
#define pb push_back
#define er erase
#define in insert
#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;
int32_t main(){
CODE_START;
cin>>n>>k;
for(ll i=1;i<=n+k;i++)
{
    cin>>a[i];
}
sort(a+1,a+n+k+1);
for(ll i=k+1;i>=1;i--)
{
    for(ll j=n+k;j>=n+(i-1);j--)
    {
        ll l=i;
        ll r=j;
        ll s1=0,s2=0;
        v.clear();
        ll nr=k-i+1-(n+k-j);
        while(l<r&&nr>=0){
            if(a[l]+a[r]==a[i]+a[j]){
                v.pb(a[l]);
                v.pb(a[r]);
                l++;
                r--;
                s2++;
            }else if(a[l]+a[r]<a[i]+a[j]){
            nr--;
            l++;
            }else if(a[l]+a[r]>a[i]+a[j]){
            nr--;
            r--;
            }
            if(s2>=n/2){
                s1=1;
                break;
            }
        }
        if(s1==1){
            sort(v.begin(),v.end());
            for(auto it : v){
                cout<<it<<' ';
            }
            return 0;
        }
    }
}
}
# Verdict Execution time Memory Grader output
1 Correct 1 ms 384 KB Output is correct
2 Correct 1 ms 384 KB Output is correct
3 Correct 2 ms 384 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 8 ms 1152 KB Output is correct
2 Correct 45 ms 5764 KB Output is correct
3 Correct 44 ms 5224 KB Output is correct
4 Correct 46 ms 5736 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 44 ms 5736 KB Output is correct
2 Correct 43 ms 5740 KB Output is correct
3 Correct 49 ms 5916 KB Output is correct
4 Correct 44 ms 5736 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 384 KB Output is correct
2 Correct 1 ms 384 KB Output is correct
3 Correct 1 ms 384 KB Output is correct
4 Correct 1 ms 384 KB Output is correct
5 Correct 1 ms 384 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 384 KB Output is correct
2 Correct 1 ms 384 KB Output is correct
3 Correct 1 ms 384 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 384 KB Output is correct
2 Correct 2 ms 384 KB Output is correct
3 Correct 1 ms 384 KB Output is correct
4 Correct 1 ms 384 KB Output is correct
5 Correct 1 ms 384 KB Output is correct
6 Correct 1 ms 384 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 384 KB Output is correct
2 Correct 55 ms 5936 KB Output is correct
3 Correct 50 ms 5724 KB Output is correct
4 Correct 43 ms 5740 KB Output is correct
5 Correct 45 ms 5740 KB Output is correct
6 Correct 43 ms 5760 KB Output is correct
7 Correct 43 ms 5740 KB Output is correct
8 Correct 44 ms 5740 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 77 ms 384 KB Output is correct
2 Correct 44 ms 5740 KB Output is correct
3 Correct 63 ms 5740 KB Output is correct
4 Correct 46 ms 5816 KB Output is correct
5 Correct 1664 ms 5948 KB Output is correct
6 Correct 54 ms 5784 KB Output is correct
7 Correct 49 ms 5728 KB Output is correct
8 Correct 61 ms 5752 KB Output is correct