Submission #718186

# Submission time Handle Problem Language Result Execution time Memory
718186 2023-04-03T15:01:17 Z vjudge1 Table Tennis (info1cup20_tabletennis) C++17
87 / 100
3000 ms 5756 KB
#include<bits/stdc++.h>
using namespace std;
#define int long long 
#define ll long long
#define pii pair<int,int>
#define F first
#define S second
#define endl '\n'
#define pb push_back
#define sz(a) (int)a.size()
#define all(a) a.begin(),a.end()
const int mod = 1e9 + 7;
const int N = 1e6 + 15;
const ll inf = 1e18;
int n,k,o;
vector<int> a;
int solve(int x){
  int p1=0,p2=n-1;
  int cur = 0;
  while (p1<p2){
    if (a[p1]+a[p2]==x){
      cur+=2;
      p1++;p2--;
    }
    else if (a[p1]+a[p2] < x){
      p1++;
    }
    else if (a[p1]+a[p2] > x){
      p2--;
    }
  }
  return cur;
}
void print(int x){
  int p1=0,p2=n-1;
  vector<int> ans;
  while (p1<p2){
    if (a[p1]+a[p2]==x){
      ans.pb(a[p1]);
      ans.pb(a[p2]);
      if (sz(ans)==o) break;
      p1++;p2--;
    }
    else if (a[p1]+a[p2] < x){
      p1++;
    }
    else if (a[p1]+a[p2] > x){
      p2--;
    }
  }
  sort(all(ans));
  for (auto it :ans){
    cout << it << ' ';
  }
  return;
}
int32_t main(){
	ios_base::sync_with_stdio(0);cin.tie(0);
  cin >> n >> k;
  o = n;
  n = n+k;
  a.resize(n);
  for (int i=0;i<n;i++){
    cin >> a[i];
  }
k++;
  int ans = -1;
  for (int i=0;i<k;i++){
    for (int j=0;j<k-i;j++){
      if (solve(a[i]+a[n-1-j])>=o){
        ans = a[i]+a[n-1-j]; 
        break;
      }
    }
    if (ans!=-1) break;
  }
  print(ans);
}
# Verdict Execution time Memory Grader output
1 Correct 1 ms 340 KB Output is correct
2 Correct 1 ms 356 KB Output is correct
3 Correct 1 ms 336 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 5 ms 1112 KB Output is correct
2 Correct 33 ms 5756 KB Output is correct
3 Correct 33 ms 5700 KB Output is correct
4 Correct 35 ms 5700 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 35 ms 5700 KB Output is correct
2 Correct 33 ms 5684 KB Output is correct
3 Correct 36 ms 5728 KB Output is correct
4 Correct 37 ms 5504 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 320 KB Output is correct
2 Correct 2 ms 324 KB Output is correct
3 Correct 1 ms 320 KB Output is correct
4 Correct 2 ms 212 KB Output is correct
5 Correct 1 ms 320 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 1 ms 320 KB Output is correct
3 Correct 1 ms 212 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 2 ms 340 KB Output is correct
3 Correct 1 ms 340 KB Output is correct
4 Correct 1 ms 332 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 150 ms 5696 KB Output is correct
3 Correct 34 ms 5620 KB Output is correct
4 Correct 55 ms 5704 KB Output is correct
5 Correct 32 ms 5692 KB Output is correct
6 Correct 42 ms 5704 KB Output is correct
7 Correct 56 ms 5692 KB Output is correct
8 Correct 34 ms 5680 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 212 KB Output is correct
2 Execution timed out 3059 ms 2772 KB Time limit exceeded
3 Halted 0 ms 0 KB -