Submission #679774

# Submission time Handle Problem Language Result Execution time Memory
679774 2023-01-09T07:49:55 Z Beverita Table Tennis (info1cup20_tabletennis) C++17
100 / 100
107 ms 4580 KB
#include <bits/stdc++.h>

using namespace std;

const int dimN = 15 * 1e4;
const int dimK = 400;

int v[1 + dimN + dimK], sol[1 + dimN];
int n, k;

int check(int l,int r)
{
    int ind = r - (n + l - 1);
    int sum = v[l] + v[r];
    sol[1] = v[l];
    sol[n] = v[r];
    l++;
    r--;
    int val=1;
    while (l < r && ind >= 0){
        if (v[l] + v[r] == sum){
            val++;
            sol[val] = v[l];
            sol[n - val + 1] = v[r];
            l++;
            r--;
        } else if (v[l] + v[r] < sum){l++;ind--;}
        else{r--;ind--;}
    }
    return val;
}

int main()
{

    cin >> n >> k;

    for (int i = 0; i < n + k; i++){cin >> v[i];}

    for (int i = 0; i < k + 1; i++){
        bool verif = 0;
        for (int j = n + i - 1; j < n + k; j++){
            int l=i,r=j;
            if (check(l,r) == n / 2){
                verif = true;
                break;
            }
        }
        if (verif)break;
    }

    for (int i = 1; i <= n; i++){
        cout << sol[i] << " ";
    }

    return 0;
}
# 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 2 ms 340 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 9 ms 596 KB Output is correct
2 Correct 69 ms 4380 KB Output is correct
3 Correct 67 ms 4300 KB Output is correct
4 Correct 70 ms 4296 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 67 ms 2932 KB Output is correct
2 Correct 70 ms 4336 KB Output is correct
3 Correct 72 ms 4436 KB Output is correct
4 Correct 69 ms 4352 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 1 ms 212 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 212 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 1 ms 312 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 2 ms 340 KB Output is correct
3 Correct 2 ms 340 KB Output is correct
4 Correct 1 ms 320 KB Output is correct
5 Correct 1 ms 340 KB Output is correct
6 Correct 2 ms 340 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 74 ms 4400 KB Output is correct
3 Correct 69 ms 4304 KB Output is correct
4 Correct 68 ms 4276 KB Output is correct
5 Correct 70 ms 4312 KB Output is correct
6 Correct 68 ms 4408 KB Output is correct
7 Correct 69 ms 4396 KB Output is correct
8 Correct 68 ms 4324 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 82 ms 4400 KB Output is correct
3 Correct 73 ms 4288 KB Output is correct
4 Correct 81 ms 4580 KB Output is correct
5 Correct 74 ms 4312 KB Output is correct
6 Correct 70 ms 4428 KB Output is correct
7 Correct 107 ms 4376 KB Output is correct
8 Correct 73 ms 4360 KB Output is correct