Submission #717895

# Submission time Handle Problem Language Result Execution time Memory
717895 2023-04-02T19:45:08 Z vjudge1 Table Tennis (info1cup20_tabletennis) C++17
87 / 100
3000 ms 4300 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;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 340 KB Output is correct
3 Correct 1 ms 340 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 5 ms 880 KB Output is correct
2 Correct 32 ms 4272 KB Output is correct
3 Correct 30 ms 4180 KB Output is correct
4 Correct 30 ms 4172 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 32 ms 4184 KB Output is correct
2 Correct 31 ms 4292 KB Output is correct
3 Correct 32 ms 4300 KB Output is correct
4 Correct 31 ms 4216 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 3 ms 212 KB Output is correct
3 Correct 0 ms 212 KB Output is correct
4 Correct 2 ms 212 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 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 2 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 203 ms 4292 KB Output is correct
3 Correct 33 ms 4184 KB Output is correct
4 Correct 57 ms 4184 KB Output is correct
5 Correct 37 ms 4228 KB Output is correct
6 Correct 43 ms 4212 KB Output is correct
7 Correct 56 ms 4240 KB Output is correct
8 Correct 43 ms 4240 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 212 KB Output is correct
2 Execution timed out 3054 ms 1492 KB Time limit exceeded
3 Halted 0 ms 0 KB -