Submission #518358

# Submission time Handle Problem Language Result Execution time Memory
518358 2022-01-23T14:10:10 Z Ronin13 Table Tennis (info1cup20_tabletennis) C++14
100 / 100
417 ms 43616 KB
#include<bits/stdc++.h>
#define ll long long
#define ull unsigned ll
#define pb push_back
#define f first
#define s second
#define pii pair<int,int>
#define pll pair<ll,ll>
#define epb emplace_back
#define inf 1e9+1
#define linf 1e18+11
using namespace std;

map<ll,int>used;
int main(){
    int n;cin>>n;
    int k;cin>>k;
    n+=k;
    int a[n+1];
    for(int i=1;i<=n;i++)cin>>a[i];
    vector<int>vec;
    if(n>=4*k){
        for(int i=1;i<=2*k+1;i++){
            for(int j=n;j>=n-2*k;j--){
                int x=a[i]+a[j];
                used[x]++;
                if(used[x]==k)vec.pb(x);
            }
        }
    }
    else{
        for(int i=1;i<=k+1;i++){
            for(int j=n;j>=n-k;j--){
                int x=a[i]+a[j];
                vec.pb(x);
            }
        }
    }
    for(int to:vec){
        int l=1,r=n;
        vector<int>ans;
        while(l<r){
            if(ans.size()==(n-k))break;
            if(a[l]+a[r]==to){
                ans.pb(a[l]);
                ans.pb(a[r]);
                l++;
                r--;
                continue;
            }
            if(a[l]+a[r]>to){
                r--;
                continue;
            }
            l++;
        }
        if(ans.size()==(n-k)){
            sort(ans.begin(),ans.end());
            for(int x:ans)cout<<x<<' ';
            return 0;
        }
        ans.clear();
    }
}

Compilation message

tabletennis.cpp: In function 'int main()':
tabletennis.cpp:43:26: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   43 |             if(ans.size()==(n-k))break;
      |                ~~~~~~~~~~^~~~~~~
tabletennis.cpp:57:22: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   57 |         if(ans.size()==(n-k)){
      |            ~~~~~~~~~~^~~~~~~
# Verdict Execution time Memory Grader output
1 Correct 1 ms 204 KB Output is correct
2 Correct 1 ms 204 KB Output is correct
3 Correct 1 ms 204 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 12 ms 748 KB Output is correct
2 Correct 91 ms 3016 KB Output is correct
3 Correct 72 ms 3016 KB Output is correct
4 Correct 75 ms 3020 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 71 ms 3012 KB Output is correct
2 Correct 78 ms 3024 KB Output is correct
3 Correct 72 ms 3028 KB Output is correct
4 Correct 71 ms 3012 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 332 KB Output is correct
2 Correct 5 ms 460 KB Output is correct
3 Correct 1 ms 332 KB Output is correct
4 Correct 2 ms 332 KB Output is correct
5 Correct 1 ms 332 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 204 KB Output is correct
2 Correct 1 ms 292 KB Output is correct
3 Correct 1 ms 204 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 204 KB Output is correct
2 Correct 2 ms 332 KB Output is correct
3 Correct 2 ms 420 KB Output is correct
4 Correct 2 ms 332 KB Output is correct
5 Correct 2 ms 312 KB Output is correct
6 Correct 2 ms 332 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 204 KB Output is correct
2 Correct 79 ms 3132 KB Output is correct
3 Correct 73 ms 4504 KB Output is correct
4 Correct 77 ms 4540 KB Output is correct
5 Correct 78 ms 4444 KB Output is correct
6 Correct 72 ms 4536 KB Output is correct
7 Correct 72 ms 4536 KB Output is correct
8 Correct 70 ms 4536 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 1348 KB Output is correct
2 Correct 417 ms 39852 KB Output is correct
3 Correct 359 ms 43616 KB Output is correct
4 Correct 319 ms 38360 KB Output is correct
5 Correct 152 ms 13628 KB Output is correct
6 Correct 120 ms 4888 KB Output is correct
7 Correct 274 ms 33848 KB Output is correct
8 Correct 275 ms 36968 KB Output is correct