Submission #364287

# Submission time Handle Problem Language Result Execution time Memory
364287 2021-02-08T19:52:11 Z Alexandruabcde Table Tennis (info1cup20_tabletennis) C++14
100 / 100
94 ms 3424 KB
#include <bits/stdc++.h>

using namespace std;

constexpr int NMAX = 2e5;

int N, K;

int a[NMAX];

bool ok = 0;

int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(nullptr);
    cin >> N >> K;

    for (int i = 1; i <= N+K; ++ i ) {
        cin >> a[i];
    }
    sort(a+1, a+N+K+1);

    for (int i = 1; i <= K+1; ++ i ) {
        for (int j = N+K; j >= N; -- j ) {
            int cnt_per = 0;

            int st = i, dr = j;

            vector <int> st_s, dr_s;

            while (st < dr && (dr - st + 1) / 2 + cnt_per >= N/2 && cnt_per < N/2) {
                if (a[st] + a[dr] == a[i] + a[j]) {
                    st_s.push_back(st);
                    dr_s.push_back(dr);
                    ++ st;
                    -- dr;
                    cnt_per++;
                }
                else if (a[st] + a[dr] > a[i] + a[j])
                    -- dr;
                else
                    ++ st;
            }

            if (cnt_per == N/2) {
                ok = 1;
                for (auto it : st_s)
                    cout << a[it] << " ";
                for (int i = dr_s.size() - 1; i >= 0; -- i )
                    cout << a[dr_s[i]] << " ";
                break;
            }
        }

        if (ok == 1) break;
    }

    return 0;
}
# Verdict Execution time Memory Grader output
1 Correct 1 ms 364 KB Output is correct
2 Correct 1 ms 364 KB Output is correct
3 Correct 1 ms 364 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 5 ms 748 KB Output is correct
2 Correct 36 ms 3296 KB Output is correct
3 Correct 37 ms 3168 KB Output is correct
4 Correct 41 ms 3296 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 36 ms 3168 KB Output is correct
2 Correct 36 ms 3296 KB Output is correct
3 Correct 38 ms 3296 KB Output is correct
4 Correct 37 ms 3296 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 364 KB Output is correct
2 Correct 1 ms 364 KB Output is correct
3 Correct 1 ms 364 KB Output is correct
4 Correct 1 ms 364 KB Output is correct
5 Correct 1 ms 364 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 364 KB Output is correct
2 Correct 1 ms 364 KB Output is correct
3 Correct 0 ms 364 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 364 KB Output is correct
2 Correct 1 ms 364 KB Output is correct
3 Correct 1 ms 364 KB Output is correct
4 Correct 1 ms 364 KB Output is correct
5 Correct 1 ms 364 KB Output is correct
6 Correct 1 ms 364 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 364 KB Output is correct
2 Correct 37 ms 3296 KB Output is correct
3 Correct 50 ms 3168 KB Output is correct
4 Correct 43 ms 3168 KB Output is correct
5 Correct 36 ms 3168 KB Output is correct
6 Correct 37 ms 3296 KB Output is correct
7 Correct 38 ms 3296 KB Output is correct
8 Correct 36 ms 3296 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 364 KB Output is correct
2 Correct 65 ms 3296 KB Output is correct
3 Correct 38 ms 3424 KB Output is correct
4 Correct 60 ms 3296 KB Output is correct
5 Correct 46 ms 3296 KB Output is correct
6 Correct 37 ms 3296 KB Output is correct
7 Correct 94 ms 3296 KB Output is correct
8 Correct 37 ms 3168 KB Output is correct