제출 #717427

#제출 시각아이디문제언어결과실행 시간메모리
717427vjudge1Table Tennis (info1cup20_tabletennis)C++17
43 / 100
3060 ms426700 KiB
#include <bits/stdc++.h>
using namespace std;

#define int long long

const int mxN = 2e5 + 7;

const long long rand_max = 1e18;
mt19937_64 rng(chrono::steady_clock::now().time_since_epoch().count());
long long x_rand(long long i) {
    return uniform_int_distribution<long long>(0, rand_max)(rng) % i;
}

int arr[mxN];

int32_t main() {
    ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
    
    auto rand = [&](long long a, long long b) {
        return a + x_rand(rand_max) % (b - a + 1);
    };

    int n, k;
    cin >> n >> k;

    //bitset<2000000001> in;
    map<int,bool> in;
    for (int i = 0; i < n + k; ++i) {
        cin >> arr[i];
        in[arr[i]] = true;
    }

    int cnt = sqrt(mxN);
    while (cnt--) {
        int sum = arr[rand(0, k + 1)] + arr[rand(n - 1, n + k - 1)];

        vector<int> nums;
        for (int l = 0; l < n + k; ++l) {
            if (sum - arr[l] >= 0 && in[sum - arr[l]]) {
                nums.push_back(arr[l]);
            }
        }

        if (nums.size() >= n) {
            for (int l = 0; l < n; ++l) {
                cout << nums[l] << ' ';
            }
            cout << "\n";
            exit(0);
        }
    }
}
// 1 2 1 2 3

컴파일 시 표준 에러 (stderr) 메시지

tabletennis.cpp: In function 'int32_t main()':
tabletennis.cpp:44:25: warning: comparison of integer expressions of different signedness: 'std::vector<long long int>::size_type' {aka 'long unsigned int'} and 'long long int' [-Wsign-compare]
   44 |         if (nums.size() >= n) {
      |             ~~~~~~~~~~~~^~~~
#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...