Submission #47648

# Submission time Handle Problem Language Result Execution time Memory
47648 2018-05-06T07:30:29 Z E869120 Gap (APIO16_gap) C++14
30 / 100
2000 ms 2172 KB
#include "gap.h"
#include <algorithm>
#include <iostream>
using namespace std;

long long a[100009]; int res = 0;

void saiki(long long L, long long R) {
	long long s, t;
	if (L >= R) {
		cout << "!" << endl;
	}
	MinMax(L, R - 1, &s, &t);
	if (s == -1) return;
	if (s == t) { res++; a[res] = s; return; }

	t++;
	if (t - s <= 100000) {
		for (int i = s; i < t; i++) {
			saiki(i, i + 1);
		}
	}
	else if (t - s <= 100000000000LL) {
		for (int i = 0; i < 100000; i++) {
			long long G1 = 1LL * (t - s)*i / 100000LL; G1 += s;
			long long G2 = 1LL * (t - s)*(i + 1) / 100000LL; G2 += s;
			saiki(G1, G2);
		}
	}
	else {
		long long Y = (t - s) / 100000; Y++;
		for (int i = 0; i < 100000; i++) {
			long long G1 = 1LL * i*Y; G1 += s;
			long long G2 = 1LL * (i + 1)*Y; G2 += s;
			if (G1 >= G2) continue;
			saiki(G1, G2);
		}
	}
}

long long findGap(int T, int N)
{
	if (T == 1) {
		long long L = 0, R = 1000000000000000000LL, s, t, cnt = 0;

		while (cnt < (N + 1) / 2) {
			MinMax(L, R, &s, &t);
			L = s; R = t;
			if (L != -1) { a[cnt + 1] = L; a[N - cnt] = R; }
			cnt++; L++; R--;
		}
		long long maxn = 0;
		for (int i = 1; i <= N - 1; i++) maxn = max(maxn, a[i + 1] - a[i]);
		return maxn;
	}
	if (T == 2) {
		saiki(0LL, 1000000000000000001LL);
		long long maxn = 0;
		for (int i = 1; i <= N - 1; i++) maxn = max(maxn, a[i + 1] - a[i]);
		return maxn;
	}
	return 0;
}
# Verdict Execution time Memory Grader output
1 Correct 2 ms 376 KB Output is correct
2 Correct 2 ms 468 KB Output is correct
3 Correct 2 ms 536 KB Output is correct
4 Correct 2 ms 592 KB Output is correct
5 Correct 2 ms 592 KB Output is correct
6 Correct 2 ms 596 KB Output is correct
7 Correct 2 ms 596 KB Output is correct
8 Correct 2 ms 596 KB Output is correct
9 Correct 2 ms 596 KB Output is correct
10 Correct 2 ms 700 KB Output is correct
11 Correct 3 ms 700 KB Output is correct
12 Correct 3 ms 700 KB Output is correct
13 Correct 2 ms 716 KB Output is correct
14 Correct 3 ms 716 KB Output is correct
15 Correct 2 ms 716 KB Output is correct
16 Correct 15 ms 1060 KB Output is correct
17 Correct 17 ms 1060 KB Output is correct
18 Correct 16 ms 1060 KB Output is correct
19 Correct 15 ms 1060 KB Output is correct
20 Correct 11 ms 1060 KB Output is correct
21 Correct 57 ms 2140 KB Output is correct
22 Correct 67 ms 2140 KB Output is correct
23 Correct 56 ms 2140 KB Output is correct
24 Correct 57 ms 2140 KB Output is correct
25 Correct 48 ms 2140 KB Output is correct
26 Correct 57 ms 2140 KB Output is correct
27 Correct 56 ms 2140 KB Output is correct
28 Correct 57 ms 2140 KB Output is correct
29 Correct 57 ms 2140 KB Output is correct
30 Correct 42 ms 2140 KB Output is correct
31 Correct 2 ms 2140 KB Output is correct
32 Correct 2 ms 2140 KB Output is correct
# Verdict Execution time Memory Grader output
1 Partially correct 4 ms 2140 KB Partially correct
2 Partially correct 6 ms 2140 KB Partially correct
3 Partially correct 7 ms 2140 KB Partially correct
4 Partially correct 6 ms 2140 KB Partially correct
5 Partially correct 6 ms 2140 KB Partially correct
6 Partially correct 9 ms 2140 KB Partially correct
7 Partially correct 9 ms 2140 KB Partially correct
8 Partially correct 9 ms 2140 KB Partially correct
9 Partially correct 9 ms 2140 KB Partially correct
10 Partially correct 10 ms 2140 KB Partially correct
11 Partially correct 109 ms 2140 KB Partially correct
12 Partially correct 131 ms 2140 KB Partially correct
13 Partially correct 142 ms 2140 KB Partially correct
14 Partially correct 176 ms 2140 KB Partially correct
15 Partially correct 14 ms 2140 KB Partially correct
16 Execution timed out 2055 ms 2140 KB Time limit exceeded
17 Execution timed out 2066 ms 2140 KB Time limit exceeded
18 Execution timed out 2074 ms 2140 KB Time limit exceeded
19 Execution timed out 2076 ms 2140 KB Time limit exceeded
20 Partially correct 34 ms 2140 KB Partially correct
21 Execution timed out 2068 ms 2140 KB Time limit exceeded
22 Execution timed out 2073 ms 2140 KB Time limit exceeded
23 Execution timed out 2084 ms 2140 KB Time limit exceeded
24 Execution timed out 2086 ms 2140 KB Time limit exceeded
25 Partially correct 70 ms 2172 KB Partially correct
26 Execution timed out 2072 ms 2172 KB Time limit exceeded
27 Execution timed out 2078 ms 2172 KB Time limit exceeded
28 Execution timed out 2066 ms 2172 KB Time limit exceeded
29 Execution timed out 2076 ms 2172 KB Time limit exceeded
30 Partially correct 87 ms 2172 KB Partially correct
31 Partially correct 25 ms 2172 KB Partially correct
32 Execution timed out 2084 ms 2172 KB Time limit exceeded