Submission #718306

# Submission time Handle Problem Language Result Execution time Memory
718306 2023-04-03T20:11:11 Z vjudge1 Table Tennis (info1cup20_tabletennis) C++17
100 / 100
283 ms 32388 KB
#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define endl '\n'
#define all(x) x.begin(),x.end()
const int MOD = 1e9 + 7, SZ = 1e5 + 10, MX = 1e9;
signed main(){
    ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
    int n, k;
    cin >> n >> k;
    int arr[n + k];
    for(int &i : arr)
        cin >> i;
    map<int, int> frq;
    vector<int> vec;
    if(k*4 >= n + k){
        for(int i=0;i<n+k;i++){
            for(int j=i+1;j<n+k;j++)
                vec.push_back(arr[i] + arr[j]);
        }
    }
    else{
        for(int i=0;i<=k*2;i++){
            for(int j=0;j<=k*2;j++){
                if(i >= n + k - j - 1)
                    break;
                ll x = arr[i] + arr[n + k - j - 1];
                if(++frq[x] == k)
                    vec.push_back(x);
            }
        }
    }
    for(ll i : vec){
        vector<int> ans;
        int l = 0, r = n + k - 1;
        while(l < r){
            ll x = arr[l] + arr[r];
            if(ans.size() == n)
                break;
            if(x == i){
                ans.push_back(arr[l]);
                ans.push_back(arr[r]);
            }
            if(x >= i)
                r--;
            if(x <= i)
                l++;
        }
        if(ans.size() == n){
            sort(all(ans));
            for(int x : ans)
                cout << x << ' ';
            break;
        }
    }
    return 0;
}
// https://www.youtube.com/watch?v=zL32whN6p0A&ab_channel=HeidiAdel-CartoonWorld

Compilation message

tabletennis.cpp: In function 'int main()':
tabletennis.cpp:38:27: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   38 |             if(ans.size() == n)
      |                ~~~~~~~~~~~^~~~
tabletennis.cpp:49:23: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   49 |         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 340 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 6 ms 780 KB Output is correct
2 Correct 33 ms 3072 KB Output is correct
3 Correct 30 ms 3036 KB Output is correct
4 Correct 32 ms 3044 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 36 ms 2972 KB Output is correct
2 Correct 32 ms 3016 KB Output is correct
3 Correct 31 ms 3088 KB Output is correct
4 Correct 36 ms 3016 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 340 KB Output is correct
2 Correct 7 ms 468 KB Output is correct
3 Correct 1 ms 468 KB Output is correct
4 Correct 4 ms 468 KB Output is correct
5 Correct 1 ms 468 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 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 0 ms 212 KB Output is correct
2 Correct 32 ms 3272 KB Output is correct
3 Correct 32 ms 3012 KB Output is correct
4 Correct 33 ms 3064 KB Output is correct
5 Correct 31 ms 3008 KB Output is correct
6 Correct 33 ms 3080 KB Output is correct
7 Correct 33 ms 3064 KB Output is correct
8 Correct 36 ms 3108 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 856 KB Output is correct
2 Correct 283 ms 30712 KB Output is correct
3 Correct 248 ms 32388 KB Output is correct
4 Correct 201 ms 28408 KB Output is correct
5 Correct 77 ms 10024 KB Output is correct
6 Correct 58 ms 3368 KB Output is correct
7 Correct 178 ms 25060 KB Output is correct
8 Correct 161 ms 27340 KB Output is correct