Submission #745177

# Submission time Handle Problem Language Result Execution time Memory
745177 2023-05-19T13:55:00 Z Nelt Gap (APIO16_gap) C++17
100 / 100
53 ms 1876 KB
#pragma GCC optimize("O3,unroll-loops")
#pragma GCC target("avx,avx2,fma")

#include "gap.h"
#include <bits/stdc++.h>
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>

/* DEFINES */
#define S second
#define F first
#define ll long long
#define ull unsigned long long
#define ld long double
#define npos ULLONG_MAX
#define INF LLONG_MAX
#define vv(a) vector<a>
#define pp(a, b) pair<a, b>
#define pq(a) priority_queue<a>
#define qq(a) queue<a>
#define ss(a) set<a>
#define mm(a, b) map<a, b>
#define ump(a, b) unordered_map<a, b>
#define sync                      \
	ios_base::sync_with_stdio(0); \
	cin.tie(0);                   \
	cout.tie(0);
#define elif else if
#define endl "\n"
#define allc(a) begin(a), end(a)
#define all(a) a, a + sizeof(a) / sizeof(a[0])
#define pb push_back
#define logi(a) __lg(a)
#define sqrt(a) sqrtl(a)
#define mpr make_pair
#define ins insert
using namespace std;
using namespace __gnu_pbds;
using namespace __cxx11;
typedef char chr;
typedef basic_string<chr> str;
template <typename T, typename key = less<T>>
using ordered_set = tree<T, null_type, key, rb_tree_tag, tree_order_statistics_node_update>;
mt19937 rng(chrono::steady_clock::now().time_since_epoch().count());

ll findGap(int t, int n)
{
	ll ans = 0;
	if (t == 1)
	{
		ll a[n];
		ll i = 0, j = n - 1, l = 0, r = 1e18;
		while (i <= j)
			MinMax(l, r, &a[i], &a[j]), l = a[i++] + 1, r = a[j--] - 1;
		for (ll i = 1; i < n; i++)
			ans = max(ans, a[i] - a[i - 1]);
	}
	else
	{
		ll f, s;
		MinMax(0, 1e18, &f, &s);
		ll d = (s - f + n - 2) / (n - 1), i, last = f, x, y;
		ans = d;
		for (i = f; i < s; i += d + 1)
		{
			MinMax(i, min(s, i + d), &x, &y);
			if (x != -1)
				ans = max(ans, x - last), last = y;
		}
	}
	return ans;
}
# Verdict Execution time Memory Grader output
1 Correct 0 ms 208 KB Output is correct
2 Correct 1 ms 208 KB Output is correct
3 Correct 1 ms 208 KB Output is correct
4 Correct 0 ms 208 KB Output is correct
5 Correct 0 ms 208 KB Output is correct
6 Correct 1 ms 208 KB Output is correct
7 Correct 0 ms 208 KB Output is correct
8 Correct 0 ms 208 KB Output is correct
9 Correct 0 ms 208 KB Output is correct
10 Correct 1 ms 208 KB Output is correct
11 Correct 1 ms 336 KB Output is correct
12 Correct 1 ms 336 KB Output is correct
13 Correct 1 ms 336 KB Output is correct
14 Correct 1 ms 336 KB Output is correct
15 Correct 1 ms 336 KB Output is correct
16 Correct 9 ms 632 KB Output is correct
17 Correct 9 ms 592 KB Output is correct
18 Correct 8 ms 712 KB Output is correct
19 Correct 9 ms 680 KB Output is correct
20 Correct 7 ms 716 KB Output is correct
21 Correct 33 ms 1848 KB Output is correct
22 Correct 41 ms 1836 KB Output is correct
23 Correct 38 ms 1836 KB Output is correct
24 Correct 35 ms 1876 KB Output is correct
25 Correct 30 ms 1824 KB Output is correct
26 Correct 33 ms 1836 KB Output is correct
27 Correct 40 ms 1832 KB Output is correct
28 Correct 35 ms 1804 KB Output is correct
29 Correct 35 ms 1868 KB Output is correct
30 Correct 27 ms 1872 KB Output is correct
31 Correct 0 ms 208 KB Output is correct
32 Correct 0 ms 208 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 208 KB Output is correct
2 Correct 0 ms 208 KB Output is correct
3 Correct 1 ms 208 KB Output is correct
4 Correct 0 ms 208 KB Output is correct
5 Correct 0 ms 208 KB Output is correct
6 Correct 0 ms 208 KB Output is correct
7 Correct 0 ms 284 KB Output is correct
8 Correct 0 ms 208 KB Output is correct
9 Correct 0 ms 208 KB Output is correct
10 Correct 0 ms 208 KB Output is correct
11 Correct 1 ms 336 KB Output is correct
12 Correct 1 ms 336 KB Output is correct
13 Correct 1 ms 336 KB Output is correct
14 Correct 1 ms 336 KB Output is correct
15 Correct 1 ms 336 KB Output is correct
16 Correct 12 ms 464 KB Output is correct
17 Correct 13 ms 464 KB Output is correct
18 Correct 12 ms 432 KB Output is correct
19 Correct 13 ms 464 KB Output is correct
20 Correct 6 ms 436 KB Output is correct
21 Correct 50 ms 1088 KB Output is correct
22 Correct 49 ms 976 KB Output is correct
23 Correct 49 ms 1068 KB Output is correct
24 Correct 49 ms 1020 KB Output is correct
25 Correct 46 ms 1092 KB Output is correct
26 Correct 52 ms 976 KB Output is correct
27 Correct 51 ms 1084 KB Output is correct
28 Correct 51 ms 1104 KB Output is correct
29 Correct 53 ms 1096 KB Output is correct
30 Correct 28 ms 1108 KB Output is correct
31 Correct 0 ms 208 KB Output is correct
32 Correct 1 ms 208 KB Output is correct