Submission #675132

# Submission time Handle Problem Language Result Execution time Memory
675132 2022-12-27T02:08:56 Z vjudge1 Table Tennis (info1cup20_tabletennis) C++17
100 / 100
421 ms 32272 KB
#include<bits/stdc++.h>
using namespace std;
 
#define f first
#define s second
 
typedef long long ll;
typedef long double ld;
 
typedef pair<ll, ll> pt;
 
int n, k, m;
 
const int maxn = 2e5+5;
 
const ll inf = 1e9+5;
 
int A[maxn];
 
map<int, int> mp;

bool chk(int x){
    int l = 0, r = m-1, cnt = 0;
    vector<int> vec;
    while(l < r){
        while(l < r && A[l]+A[r] > x)r--;
        if(l==r)break;
        if(A[l]+A[r] == x){
            cnt++;
            vec.push_back(A[l]);
            vec.push_back(A[r]);
            if(cnt == n/2){
                sort(vec.begin(), vec.end());
                for(auto v: vec)cout << v << " ";
                return 1;
            }
        }
        l++;
    }
    return 0;
}

int main(){
    cin >> n >> k;
    m = n+k;
    //cout << m << "\n";
    for(int i = 0; i < m; i++)cin >> A[i];
    for(int i = 0; i < min(m, 2*k); i++){
        for(int j = m-1; j >= max(m-2*k, i+1); j--){
            mp[A[i]+A[j]]++;
        }
    }
    for(auto v: mp)if(v.s >= min(k, n/2)){
        if(chk(v.f))return 0;
    }
}
# Verdict Execution time Memory Grader output
1 Correct 2 ms 340 KB Output is correct
2 Correct 2 ms 340 KB Output is correct
3 Correct 1 ms 340 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 11 ms 772 KB Output is correct
2 Correct 89 ms 3044 KB Output is correct
3 Correct 93 ms 2984 KB Output is correct
4 Correct 90 ms 3020 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 103 ms 3012 KB Output is correct
2 Correct 90 ms 3056 KB Output is correct
3 Correct 72 ms 3084 KB Output is correct
4 Correct 75 ms 2968 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 724 KB Output is correct
2 Correct 3 ms 980 KB Output is correct
3 Correct 3 ms 980 KB Output is correct
4 Correct 3 ms 980 KB Output is correct
5 Correct 3 ms 980 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 1 ms 212 KB Output is correct
3 Correct 1 ms 212 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 2 ms 340 KB Output is correct
3 Correct 3 ms 340 KB Output is correct
4 Correct 2 ms 368 KB Output is correct
5 Correct 1 ms 340 KB Output is correct
6 Correct 1 ms 340 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 71 ms 3096 KB Output is correct
3 Correct 85 ms 3112 KB Output is correct
4 Correct 99 ms 3044 KB Output is correct
5 Correct 89 ms 2988 KB Output is correct
6 Correct 85 ms 3944 KB Output is correct
7 Correct 101 ms 3056 KB Output is correct
8 Correct 89 ms 3068 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 23 ms 4564 KB Output is correct
2 Correct 421 ms 30596 KB Output is correct
3 Correct 371 ms 32272 KB Output is correct
4 Correct 220 ms 28284 KB Output is correct
5 Correct 186 ms 9972 KB Output is correct
6 Correct 124 ms 4220 KB Output is correct
7 Correct 263 ms 24992 KB Output is correct
8 Correct 280 ms 27232 KB Output is correct