Submission #791060

# Submission time Handle Problem Language Result Execution time Memory
791060 2023-07-23T11:30:16 Z Andrey Table Tennis (info1cup20_tabletennis) C++14
87 / 100
3000 ms 4612 KB
#include <bits/stdc++.h>
using namespace std;

int n,k;
vector<int> ans(0);
vector<int> haha(0);

bool check(int a) {
    ans.clear();
    int l = 0,r = n+k-1;
    while(l < r) {
        while(r > l && haha[l]+haha[r] > a) {
            r--;
        }
        if(r <= l) {
            return false;
        }
        if(haha[r]+haha[l] == a) {
            ans.push_back(haha[l]);
            ans.push_back(haha[r]);
            if(ans.size() == n) {
                return true;
            }
        }
        l++;
    }
    return false;
}

int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    cout.tie(NULL);
    cin >> n >> k;
    int a;
    for(int i = 0; i < n+k; i++) {
        cin >> a;
        haha.push_back(a);
    }
    for(int i = 0; i < k+1; i++) {
        for(int j = n+k-1; j >= n-1 && j > i; j--) {
            if(check(haha[i]+haha[j])) {
                sort(ans.begin(),ans.end());
                for(int y = 0; y < n; y++) {
                    cout << ans[y] << " ";
                }
                cout << endl;
                return 0;
            }
        }
    }
    return 0;
}

Compilation message

tabletennis.cpp: In function 'bool check(int)':
tabletennis.cpp:21:27: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   21 |             if(ans.size() == n) {
      |                ~~~~~~~~~~~^~~~
# Verdict Execution time Memory Grader output
1 Correct 1 ms 340 KB Output is correct
2 Correct 1 ms 340 KB Output is correct
3 Correct 1 ms 332 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 4 ms 724 KB Output is correct
2 Correct 26 ms 3092 KB Output is correct
3 Correct 26 ms 4516 KB Output is correct
4 Correct 25 ms 4568 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 25 ms 3028 KB Output is correct
2 Correct 26 ms 3112 KB Output is correct
3 Correct 26 ms 4552 KB Output is correct
4 Correct 30 ms 4544 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 2 ms 320 KB Output is correct
3 Correct 0 ms 212 KB Output is correct
4 Correct 2 ms 212 KB Output is correct
5 Correct 1 ms 316 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 0 ms 212 KB Output is correct
3 Correct 1 ms 212 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 1 ms 340 KB Output is correct
3 Correct 1 ms 348 KB Output is correct
4 Correct 2 ms 340 KB Output is correct
5 Correct 1 ms 340 KB Output is correct
6 Correct 1 ms 328 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 199 ms 4504 KB Output is correct
3 Correct 29 ms 4432 KB Output is correct
4 Correct 54 ms 4536 KB Output is correct
5 Correct 27 ms 4456 KB Output is correct
6 Correct 39 ms 4520 KB Output is correct
7 Correct 43 ms 4492 KB Output is correct
8 Correct 28 ms 4612 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 212 KB Output is correct
2 Execution timed out 3030 ms 2848 KB Time limit exceeded
3 Halted 0 ms 0 KB -