제출 #690791

#제출 시각아이디문제언어결과실행 시간메모리
690791andrei_iorgulescuTable Tennis (info1cup20_tabletennis)C++14
100 / 100
66 ms2976 KiB
#include <bits/stdc++.h>
#pragma GCC optimize("unroll-loops")

using namespace std;

int n,k,a[150500];
int sol[150005];

int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    cout.tie(NULL);
    cin >> n >> k;
    for (int i = 1; i <= n + k; i++)
        cin >> a[i];
    for (int i = 1; i <= k + 1; i++)
    {
        for (int j = n + k; j >= n - 1; j--)
        {
            int sum = a[i] + a[j];
            int st = i + 1,dr = j - 1;
            int sz = 1;
            sol[0] = a[i];
            sol[1] = a[j];
            while (st < dr and sz < n - 1 and sz + (dr - st + 1) >= n - 1)
            {
                if (a[st] + a[dr] == sum)
                {
                    sol[++sz] = a[st];
                    sol[++sz] = a[dr];
                    st++;
                    dr--;
                }
                else if (a[st] + a[dr] > sum)
                    dr--;
                else
                    st++;
            }
            if (sz == n - 1)
            {
                sort(sol, sol + n);
                for (int j = 0; j < n; j++)
                    cout << sol[j] << ' ';
                return 0;
            }
        }
    }
    return 0;
}
#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...