Submission #717370

#TimeUsernameProblemLanguageResultExecution timeMemory
717370vjudge1Table Tennis (info1cup20_tabletennis)C++17
20 / 100
93 ms4388 KiB
#include <bits/stdc++.h>
#include <fstream>
#define endl '\n'
#define mod 998244353
#define INF 1000000000000000000
#define ll long long
///#define cin fin
///#define cout fout
#define fi first
#define se second
using namespace std;
///ofstream fout("herding.out");
///ifstream fin("herding.in");


int main()
{
    ios_base::sync_with_stdio(0);cout.tie(0);cin.tie(0);
    int n, k; cin >> n >> k; vector<long long> v; int arr[n+k] = {}; map<long long,int> mp; int pos = -1;
    for(int i = 0; i < n+k; i++) {
        int x; cin >> x; v.push_back(x);
    }

    for(int i = 1; i <= (n+k)/2; i++) {
        int j = (n+k)-i; arr[i] = j; arr[j] = i;
        mp[v[i]+v[j]]++;
        if(mp[v[i]+v[j]] == n/2) pos = 0;
    }

    for(int i = 1; i < (n+k); i++) {
        mp[v[arr[i]]+v[i]]--;
        arr[arr[i]] = i-1; arr[i-1] = arr[i];
        mp[v[i-1]+v[arr[i-1]]]++;
        if(mp[v[i-1]+v[arr[i-1]]] == n/2) pos = i;
    }

    for(int i = 0; i < (n+k); i++) {
        if(i == pos) continue;
        cout << v[i] << ' ';
    }
    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...