Submission #762351

# Submission time Handle Problem Language Result Execution time Memory
762351 2023-06-21T10:34:29 Z voliaanyk Table Tennis (info1cup20_tabletennis) C++14
87 / 100
3000 ms 6552 KB
#include "bits/stdc++.h"
using namespace std;
 
#define DIM 160007
#define DIM2 2007
#define fi first
#define se second
#define mod 1000000007
 
typedef long long ll;
typedef long double ld;
typedef pair<ll, ll> pll;

ll n, k, a[DIM];
vector<ll> res;
set<ll> s;


bool check(ll d){
    
    ll l = 1, r = n+k;
    
    res.clear();
    
    while(l<r){
        
        if(a[r]+a[l] == d){
            res.push_back(a[l]); res.push_back(a[r]);
            r--;
            l++;
        }
        else if(a[r] + a[l] > d) r--;
        else l++;
        
        if(res.size()>=n) return true;
        
    }
    return false;
    
}


 
int main() {
 
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
    
    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+i-1;j--){
            if(i<j) s.insert(a[j]+a[i]);
        }
    }
    
    for(auto r:s){
        if(check(r)){
            sort(res.begin(), res.end());
            for(int i=0;i<res.size();i++){
                cout<<res[i]<<" ";
            }
            cout<<endl;
            return 0;
        }
    }
    
    
    return 0;
}

/*
 4 3
 1 2 3 4 8 10 20
 
 
 4 2
 1 2 3 4 5 6
 */

Compilation message

tabletennis.cpp: In function 'bool check(ll)':
tabletennis.cpp:35:22: warning: comparison of integer expressions of different signedness: 'std::vector<long long int>::size_type' {aka 'long unsigned int'} and 'll' {aka 'long long int'} [-Wsign-compare]
   35 |         if(res.size()>=n) return true;
      |            ~~~~~~~~~~^~~
tabletennis.cpp: In function 'int main()':
tabletennis.cpp:64:26: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   64 |             for(int i=0;i<res.size();i++){
      |                         ~^~~~~~~~~~~
# 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 344 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 6 ms 1112 KB Output is correct
2 Correct 41 ms 5728 KB Output is correct
3 Correct 26 ms 5684 KB Output is correct
4 Correct 36 ms 5692 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 26 ms 5656 KB Output is correct
2 Correct 26 ms 5692 KB Output is correct
3 Correct 32 ms 5700 KB Output is correct
4 Correct 25 ms 5704 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 468 KB Output is correct
2 Correct 2 ms 468 KB Output is correct
3 Correct 1 ms 468 KB Output is correct
4 Correct 1 ms 468 KB Output is correct
5 Correct 1 ms 468 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 0 ms 212 KB Output is correct
3 Correct 0 ms 332 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 340 KB Output is correct
2 Correct 1 ms 360 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 356 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 340 KB Output is correct
2 Correct 136 ms 5772 KB Output is correct
3 Correct 37 ms 5664 KB Output is correct
4 Correct 37 ms 5720 KB Output is correct
5 Correct 28 ms 5692 KB Output is correct
6 Correct 35 ms 5776 KB Output is correct
7 Correct 47 ms 5708 KB Output is correct
8 Correct 38 ms 5696 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 12 ms 4052 KB Output is correct
2 Execution timed out 3069 ms 6552 KB Time limit exceeded
3 Halted 0 ms 0 KB -