Submission #683507

# Submission time Handle Problem Language Result Execution time Memory
683507 2023-01-18T15:49:42 Z JooDdae Table Tennis (info1cup20_tabletennis) C++17
100 / 100
69 ms 4624 KB
#include <bits/stdc++.h>
using namespace std;
using ll = long long;

int n, k, a[200200];

int main(){
    cin.tie(0)->sync_with_stdio(0);
    cin >> n >> k;
    for(int i=1;i<=n+k;i++) cin >> a[i];

    for(int A=0;A<=k;A++) for(int B=0;A+B<=k;B++) {
        int L = A+1, R = n+k-B;
        int S = a[L] + a[R];

        int l = L+1, r = R-1;
        vector<array<int, 2>> v = {{L, R}};
        while(l < r && v.size()+(r-l+1)/2 >= n/2) {
            if(a[l] + a[r] == S) {
                v.push_back({l, r});
                l++, r--;
                continue;
            }

            if(S-a[l] > a[r]) l++;
            else r--;
        }

        if(v.size() >= n/2) {
            for(int i=0;i<n/2;i++) cout << a[v[i][0]] << " ";
            for(int i=n/2-1;i>=0;i--) cout << a[v[i][1]] << " ";
            return 0;
        }
    }

    assert(0);
}

Compilation message

tabletennis.cpp: In function 'int main()':
tabletennis.cpp:18:43: warning: comparison of integer expressions of different signedness: 'std::vector<std::array<int, 2> >::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   18 |         while(l < r && v.size()+(r-l+1)/2 >= n/2) {
      |                        ~~~~~~~~~~~~~~~~~~~^~~~~~
tabletennis.cpp:29:21: warning: comparison of integer expressions of different signedness: 'std::vector<std::array<int, 2> >::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   29 |         if(v.size() >= n/2) {
      |            ~~~~~~~~~^~~~~~
# Verdict Execution time Memory Grader output
1 Correct 1 ms 392 KB Output is correct
2 Correct 1 ms 340 KB Output is correct
3 Correct 1 ms 340 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 4 ms 960 KB Output is correct
2 Correct 29 ms 4516 KB Output is correct
3 Correct 29 ms 4544 KB Output is correct
4 Correct 27 ms 4552 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 32 ms 3704 KB Output is correct
2 Correct 30 ms 4552 KB Output is correct
3 Correct 31 ms 4492 KB Output is correct
4 Correct 38 ms 4532 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 1 ms 332 KB Output is correct
3 Correct 1 ms 212 KB Output is correct
4 Correct 1 ms 212 KB Output is correct
5 Correct 1 ms 332 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 332 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 1 ms 356 KB Output is correct
3 Correct 1 ms 344 KB Output is correct
4 Correct 1 ms 352 KB Output is correct
5 Correct 1 ms 340 KB Output is correct
6 Correct 1 ms 352 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 39 ms 4600 KB Output is correct
3 Correct 33 ms 4552 KB Output is correct
4 Correct 27 ms 4548 KB Output is correct
5 Correct 35 ms 4560 KB Output is correct
6 Correct 38 ms 4516 KB Output is correct
7 Correct 28 ms 4524 KB Output is correct
8 Correct 29 ms 4552 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 62 ms 4508 KB Output is correct
3 Correct 31 ms 4552 KB Output is correct
4 Correct 46 ms 4516 KB Output is correct
5 Correct 35 ms 4524 KB Output is correct
6 Correct 30 ms 4624 KB Output is correct
7 Correct 69 ms 4512 KB Output is correct
8 Correct 28 ms 4552 KB Output is correct