Submission #691803

# Submission time Handle Problem Language Result Execution time Memory
691803 2023-01-31T15:21:51 Z Lextyle Table Tennis (info1cup20_tabletennis) C++17
87 / 100
3000 ms 9452 KB
#include <bits/stdc++.h>
#pragma warning(disable : 4996)
#pragma warning(disable : 6031)
#define USACO freopen("moocast.in", "r", stdin); freopen("moocast.out", "w+", stdout)
#define fastIO ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL)
#define ll long long
using namespace std;

ll binpow(ll a, ll x, ll m) {
	ll ans = 1, md = a % m;
	for (int i = 0; i < 63; i++) {
		if (x & ((ll)1 << i)) ans = (ans * md) % m;
		md = (md * md) % m;
	}
	return ans;
}

vector<ll> gcd(ll a, ll b) {
	if (b == 0) {
		return { a, 1, 0 };
	}
	vector<ll> d = gcd(b, a % b);
	return { d[0], d[2], d[1] - d[2] * (a / b) };
}

ll lcm(ll a, ll b) {
	return a * b / gcd(a, b)[0];
}
int a[200000];

void solve() {
	int n, k;
	cin >> k >> n;
	n += k;
	for (int i = 0; i < n; i++) cin >> a[i];
	for (int i = 0; i < n; i++) {
		for (int j = i + k - 1; j < n; j++) {
			set<int> ans;
			ans.insert(a[i]);
			ans.insert(a[j]);
			for (int l = i + 1, r = j - 1; ans.size() < k; l++) {
				while (r > l && a[j] - a[r] < a[l] - a[i]) r--;
				if (r <= l) break;
				if (a[j] - a[r] == a[l] - a[i]) {
					ans.insert(a[l]);
					ans.insert(a[r]);
					r--;
				}
			}
			if (ans.size() == k) {
				for (auto c : ans) cout << c << " ";
				return;
			}
		}
	}
}

int main() {
	//USACO;
	fastIO;
	solve();
}

Compilation message

tabletennis.cpp:2: warning: ignoring '#pragma warning ' [-Wunknown-pragmas]
    2 | #pragma warning(disable : 4996)
      | 
tabletennis.cpp:3: warning: ignoring '#pragma warning ' [-Wunknown-pragmas]
    3 | #pragma warning(disable : 6031)
      | 
tabletennis.cpp: In function 'void solve()':
tabletennis.cpp:41:46: warning: comparison of integer expressions of different signedness: 'std::set<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   41 |    for (int l = i + 1, r = j - 1; ans.size() < k; l++) {
      |                                   ~~~~~~~~~~~^~~
tabletennis.cpp:50:19: warning: comparison of integer expressions of different signedness: 'std::set<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   50 |    if (ans.size() == k) {
      |        ~~~~~~~~~~~^~~~
# 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 10 ms 1540 KB Output is correct
2 Correct 66 ms 9452 KB Output is correct
3 Correct 77 ms 9324 KB Output is correct
4 Correct 67 ms 9424 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 66 ms 9340 KB Output is correct
2 Correct 76 ms 9412 KB Output is correct
3 Correct 64 ms 9396 KB Output is correct
4 Correct 114 ms 9344 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 1 ms 212 KB Output is correct
3 Correct 1 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 1 ms 212 KB Output is correct
2 Correct 1 ms 212 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 2 ms 336 KB Output is correct
5 Correct 1 ms 340 KB Output is correct
6 Correct 2 ms 340 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 204 ms 9328 KB Output is correct
3 Correct 64 ms 9396 KB Output is correct
4 Correct 104 ms 9328 KB Output is correct
5 Correct 103 ms 9408 KB Output is correct
6 Correct 73 ms 9436 KB Output is correct
7 Correct 89 ms 9392 KB Output is correct
8 Correct 91 ms 9352 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 212 KB Output is correct
2 Execution timed out 3064 ms 816 KB Time limit exceeded
3 Halted 0 ms 0 KB -