Submission #480965

# Submission time Handle Problem Language Result Execution time Memory
480965 2021-10-19T02:52:19 Z rk42745417 Table Tennis (info1cup20_tabletennis) C++17
100 / 100
82 ms 4428 KB
#include <bits/stdc++.h>
using namespace std;

#define EmiliaMyWife ios::sync_with_stdio(0); cin.tie(0);
using ll = int64_t;
using uint = uint32_t;
using ull = uint64_t;
using ld = long double;
const int INF = 0x3f3f3f3f;
const int MOD = 1e9 + 7;
const double EPS = 1e-8;
const ll LINF = ll(1e18) + ll(1e15);
static auto LamyIsCute = []() {
	EmiliaMyWife
	return 48763;
}();

signed main() {
	int n, k;
	cin >> n >> k;
	vector<int> arr(n + k);
	for(int &x : arr)
		cin >> x;
	const int m = n + k;
	vector<int> ans;
	ans.reserve(n);
	for(int i = 0; i <= k; i++) {
		for(int j = 0; j + i <= k; j++) {
			int s = arr[i] + arr[m - j - 1];
			int rest = k - j - i;
			int l = i, r = m - j - 1;
			while(ans.size() < n && l < r) {
				if(arr[l] + arr[r] == s) {
					ans.push_back(arr[l]);
					ans.push_back(arr[r]);
					l++;
					r--;
				}
				else if(arr[l] + arr[r] > s)
					rest--, r--;
				else
					rest--, l++;
				if(rest < 0)
					break;
			}
			if(ans.size() == n) {
				sort(ans.begin(), ans.end());
				for(int a : ans)
					cout << a << ' ';
				cout << '\n';
				return 0;
			}
			ans.clear();
		}
	}
}

Compilation message

tabletennis.cpp: In function 'int main()':
tabletennis.cpp:32:21: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   32 |    while(ans.size() < n && l < r) {
      |          ~~~~~~~~~~~^~~
tabletennis.cpp:46:18: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   46 |    if(ans.size() == n) {
      |       ~~~~~~~~~~~^~~~
# Verdict Execution time Memory Grader output
1 Correct 1 ms 332 KB Output is correct
2 Correct 1 ms 332 KB Output is correct
3 Correct 1 ms 332 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 5 ms 588 KB Output is correct
2 Correct 38 ms 2956 KB Output is correct
3 Correct 45 ms 2936 KB Output is correct
4 Correct 40 ms 4420 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 37 ms 4404 KB Output is correct
2 Correct 39 ms 4356 KB Output is correct
3 Correct 36 ms 4428 KB Output is correct
4 Correct 40 ms 4348 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 204 KB Output is correct
2 Correct 1 ms 332 KB Output is correct
3 Correct 1 ms 204 KB Output is correct
4 Correct 1 ms 204 KB Output is correct
5 Correct 0 ms 204 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 204 KB Output is correct
2 Correct 1 ms 204 KB Output is correct
3 Correct 0 ms 204 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 204 KB Output is correct
2 Correct 1 ms 332 KB Output is correct
3 Correct 1 ms 320 KB Output is correct
4 Correct 2 ms 332 KB Output is correct
5 Correct 1 ms 332 KB Output is correct
6 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 36 ms 4424 KB Output is correct
3 Correct 37 ms 4356 KB Output is correct
4 Correct 40 ms 4348 KB Output is correct
5 Correct 37 ms 4276 KB Output is correct
6 Correct 40 ms 4416 KB Output is correct
7 Correct 37 ms 4420 KB Output is correct
8 Correct 35 ms 4352 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 204 KB Output is correct
2 Correct 58 ms 4348 KB Output is correct
3 Correct 35 ms 4292 KB Output is correct
4 Correct 52 ms 4352 KB Output is correct
5 Correct 53 ms 4284 KB Output is correct
6 Correct 36 ms 4428 KB Output is correct
7 Correct 82 ms 4396 KB Output is correct
8 Correct 36 ms 4292 KB Output is correct