Submission #690772

# Submission time Handle Problem Language Result Execution time Memory
690772 2023-01-30T12:06:04 Z MateiKing80 Table Tennis (info1cup20_tabletennis) C++14
100 / 100
63 ms 6552 KB
#include <bits/stdc++.h>

using namespace std;

int n,k,a[150500];
unordered_map<int,bool>ok;

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];
    sort(a + 1,a + n + k + 1);
    for (int i = 1; i <= k + 1; i++)
    {
        for (int j = n + k; j >= n - 1; j--)
        {
            int sum = a[i] + a[j];
            if(ok[sum])
                break;
            ok[sum]=true;
            int st = i + 1,dr = j - 1;
            vector<int>sol;
            sol.push_back(a[i]);
            sol.push_back(a[j]);
            while (st < dr && sol.size() < n && dr-st+1>=n-sol.size())
            {
                if (a[st] + a[dr] == sum)
                {
                    sol.push_back(a[st]);
                    sol.push_back(a[dr]);
                    st++;
                    dr--;
                }
                else if (a[st] + a[dr] > sum)
                    dr--;
                else
                    st++;
            }
            if (sol.size() == n)
            {
                sort(sol.begin(),sol.end());
                for (int j = 0; j < n; j++)
                    cout << sol[j] << ' ';
                return 0;
            }
        }
    }
    return 0;
}

Compilation message

tabletennis.cpp: In function 'int main()':
tabletennis.cpp:29:42: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   29 |             while (st < dr && sol.size() < n && dr-st+1>=n-sol.size())
      |                               ~~~~~~~~~~~^~~
tabletennis.cpp:29:56: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   29 |             while (st < dr && sol.size() < n && dr-st+1>=n-sol.size())
      |                                                 ~~~~~~~^~~~~~~~~~~~~~
tabletennis.cpp:43:28: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   43 |             if (sol.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 340 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 4 ms 724 KB Output is correct
2 Correct 32 ms 3076 KB Output is correct
3 Correct 37 ms 3044 KB Output is correct
4 Correct 38 ms 3016 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 30 ms 3024 KB Output is correct
2 Correct 32 ms 3024 KB Output is correct
3 Correct 33 ms 3060 KB Output is correct
4 Correct 33 ms 3016 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 2 ms 596 KB Output is correct
3 Correct 1 ms 212 KB Output is correct
4 Correct 2 ms 468 KB Output is correct
5 Correct 0 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 212 KB Output is correct
3 Correct 0 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 340 KB Output is correct
4 Correct 1 ms 340 KB Output is correct
5 Correct 1 ms 340 KB Output is correct
6 Correct 1 ms 340 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 40 ms 3144 KB Output is correct
3 Correct 31 ms 3100 KB Output is correct
4 Correct 42 ms 3100 KB Output is correct
5 Correct 32 ms 3028 KB Output is correct
6 Correct 35 ms 3144 KB Output is correct
7 Correct 31 ms 3068 KB Output is correct
8 Correct 34 ms 3016 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 340 KB Output is correct
2 Correct 48 ms 4256 KB Output is correct
3 Correct 31 ms 3104 KB Output is correct
4 Correct 63 ms 6552 KB Output is correct
5 Correct 30 ms 3052 KB Output is correct
6 Correct 41 ms 3136 KB Output is correct
7 Correct 35 ms 3208 KB Output is correct
8 Correct 31 ms 3020 KB Output is correct