Submission #418199

# Submission time Handle Problem Language Result Execution time Memory
418199 2021-06-05T08:09:25 Z dolphingarlic Table Tennis (info1cup20_tabletennis) C++14
87 / 100
3000 ms 5184 KB
#include <bits/stdc++.h>
typedef long long ll;
using namespace std;

int n, k;
ll a[150401];

void check(int pref, int suff) {
    vector<int> res;
    int lptr = pref + 1, rptr = suff - 1;
    ll target = a[lptr] + a[rptr];
    while (lptr < rptr) {
        int sm = a[lptr] + a[rptr];
        if (sm == target) {
            res.push_back(lptr), res.push_back(rptr);
            lptr++, rptr--;

            if (res.size() == n) {
                sort(res.begin(), res.end());
                for (int i : res) cout << a[i] << ' ';
                exit(0);
            }
        } else if (sm < target)
            lptr++;
        else
            rptr--;
    }
}

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 i = 0; i <= k; i++)
        for (int j = 0; j <= k - i; j++) check(i, n + k + 1 - j);
    return 0;
}

Compilation message

tabletennis.cpp: In function 'void check(int, int)':
tabletennis.cpp:18:28: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   18 |             if (res.size() == n) {
      |                 ~~~~~~~~~~~^~~~
# Verdict Execution time Memory Grader output
1 Correct 1 ms 332 KB Output is correct
2 Correct 1 ms 332 KB Output is correct
3 Correct 1 ms 332 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 6 ms 972 KB Output is correct
2 Correct 43 ms 3900 KB Output is correct
3 Correct 43 ms 3832 KB Output is correct
4 Correct 41 ms 3904 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 42 ms 3860 KB Output is correct
2 Correct 42 ms 3896 KB Output is correct
3 Correct 44 ms 3936 KB Output is correct
4 Correct 41 ms 3864 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 204 KB Output is correct
2 Correct 2 ms 204 KB Output is correct
3 Correct 1 ms 324 KB Output is correct
4 Correct 2 ms 316 KB Output is correct
5 Correct 1 ms 204 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 204 KB Output is correct
2 Correct 1 ms 204 KB Output is correct
3 Correct 1 ms 204 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 316 KB Output is correct
2 Correct 2 ms 332 KB Output is correct
3 Correct 1 ms 332 KB Output is correct
4 Correct 2 ms 336 KB Output is correct
5 Correct 2 ms 332 KB Output is correct
6 Correct 1 ms 332 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 204 KB Output is correct
2 Correct 209 ms 3896 KB Output is correct
3 Correct 45 ms 5132 KB Output is correct
4 Correct 89 ms 5060 KB Output is correct
5 Correct 43 ms 5056 KB Output is correct
6 Correct 57 ms 5184 KB Output is correct
7 Correct 75 ms 5104 KB Output is correct
8 Correct 42 ms 5044 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 204 KB Output is correct
2 Execution timed out 3058 ms 1628 KB Time limit exceeded
3 Halted 0 ms 0 KB -