Submission #717431

# Submission time Handle Problem Language Result Execution time Memory
717431 2023-04-01T22:48:37 Z vjudge1 Table Tennis (info1cup20_tabletennis) C++17
87 / 100
3000 ms 493588 KB
#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, bad;
    for (int i = 0; i < n + k; ++i) {
        cin >> arr[i];
        in[arr[i]] = true;
    }

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

        if (bad[sum]) {
            continue;
        }

        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);
        }
        bad[sum] = true;
    }
    assert(false);
}
// 1 2 1 2 3

Compilation message

tabletennis.cpp: In function 'int32_t main()':
tabletennis.cpp:46: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]
   46 |         if (nums.size() >= n) {
      |             ~~~~~~~~~~~~^~~~
# Verdict Execution time Memory Grader output
1 Correct 234 ms 489536 KB Output is correct
2 Correct 227 ms 489488 KB Output is correct
3 Correct 225 ms 489548 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 233 ms 490296 KB Output is correct
2 Correct 279 ms 493588 KB Output is correct
3 Correct 272 ms 493408 KB Output is correct
4 Correct 271 ms 493504 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 261 ms 493504 KB Output is correct
2 Correct 277 ms 493452 KB Output is correct
3 Correct 273 ms 493520 KB Output is correct
4 Correct 279 ms 493440 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 247 ms 489548 KB Output is correct
2 Correct 233 ms 489420 KB Output is correct
3 Correct 243 ms 489516 KB Output is correct
4 Correct 231 ms 489432 KB Output is correct
5 Correct 243 ms 489480 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 224 ms 489416 KB Output is correct
2 Correct 263 ms 489448 KB Output is correct
3 Correct 246 ms 489452 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 253 ms 489448 KB Output is correct
2 Correct 240 ms 489548 KB Output is correct
3 Correct 232 ms 489676 KB Output is correct
4 Correct 245 ms 489664 KB Output is correct
5 Correct 223 ms 489604 KB Output is correct
6 Correct 233 ms 489652 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 225 ms 489484 KB Output is correct
2 Correct 343 ms 493580 KB Output is correct
3 Correct 290 ms 493504 KB Output is correct
4 Correct 289 ms 493400 KB Output is correct
5 Correct 329 ms 493440 KB Output is correct
6 Correct 256 ms 493512 KB Output is correct
7 Correct 306 ms 493416 KB Output is correct
8 Correct 292 ms 493508 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 553 ms 489552 KB Output is correct
2 Execution timed out 3093 ms 490644 KB Time limit exceeded
3 Halted 0 ms 0 KB -