Submission #834796

#TimeUsernameProblemLanguageResultExecution timeMemory
834796alex_2008Table Tennis (info1cup20_tabletennis)C++14
87 / 100
3035 ms5816 KiB
#include <iostream>
#include <algorithm>
#include <vector>
#define int long long
using namespace std;
const int N = 15e4 + 410;
int a[N];
int randd() {
    srand(time(0));
    int x = 0;
    for (int i = 0; i < 8; i++) {
        x = x * 10 + (rand() % 10);
    }
    return x;
}
signed main()
{
    int n, k;
    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 >= i + n - 1; j--) {
            int sm = a[i] + a[j], cnt = 0;
            int k1 = i, k2 = j;
            while (k1 < k2) {
                if (a[k1] + a[k2] == sm) {
                    cnt++;
                    k1++;
                    k2--;
                }
                else if (a[k1] + a[k2] > sm) {
                    k2--;
                }
                else k1++;
            }
            if (cnt >= (n / 2)) {
                k1 = i; k2 = j;
                vector <int> v;
                while (k1 < k2) {
                    if (a[k1] + a[k2] == sm) {
                        if (v.size() != n) {
                            v.push_back(a[k1]);
                            v.push_back(a[k2]);
                        }
                        cnt++;
                        k1++;
                        k2--;
                    }
                    else if (a[k1] + a[k2] > sm) {
                        k2--;
                    }
                    else k1++;
                }
                sort(v.begin(), v.end());
                for (auto it : v) {
                    cout << it << " ";
                }
                cout << "\n";
                return 0;
            }
        }
    }
}

Compilation message (stderr)

tabletennis.cpp: In function 'int main()':
tabletennis.cpp:44:38: 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]
   44 |                         if (v.size() != n) {
      |                             ~~~~~~~~~^~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...