Submission #149378

# Submission time Handle Problem Language Result Execution time Memory
149378 2019-09-01T06:21:25 Z Ian and 2-bit memory(#3648, percywtc, nhho, ulna) Lokahian Relics (FXCUP4_lokahia) C++17
0 / 100
12 ms 728 KB
#include <bits/stdc++.h>

using namespace std;


#include "lokahia.h"

int FindBase(int N){
if (N == 1)
	return 0;
srand(123);
	int left = 600 - (N - 1);
	int old = left;
	map<int, int> m;
	while (left) {
		int ta = rand() % N;
		int tb = rand() % N;
		if (left * 2 < old && !m.empty()) {
			int tc = rand() % m.size();
			auto it = m.begin();
			while (tc--)it++;
			ta = it->first;
		}
		if (ta == tb) continue;
		// printf("%d  %d %d\n", ++tmp, ta, tb);
		int tc = CollectRelics(ta, tb);
		if (tc != -1)
		m[tc]++;
		left--;
	}
	int ans = -1, ma = -1;
	//for (auto& i : m) printf("%d %d\n", i.first, i.second);
	for (auto& i : m)
		if (i.second >= ma) {
			ans = i.first;
			ma = i.second;
		}
	// printf("%d %d\n", ans, ma);
	if (ans == -1)
		return ans;
	ma = 1;
	for (int i = 0; i < N; i++)
		if (i != ans) {
			int ta = CollectRelics(i, ans);
			if (ta <= ans && ta != -1) {
				ma++;
				ans = ta;
			}
		}
	if (ma > N / 2)
		return ans;
	return -1;
}
# Verdict Execution time Memory Grader output
1 Partially correct 6 ms 640 KB Partially correct : C = 600
2 Partially correct 12 ms 640 KB Partially correct : C = 600
3 Partially correct 6 ms 600 KB Partially correct : C = 600
4 Partially correct 7 ms 616 KB Partially correct : C = 600
5 Partially correct 6 ms 592 KB Partially correct : C = 600
6 Partially correct 6 ms 640 KB Partially correct : C = 402
7 Partially correct 6 ms 640 KB Partially correct : C = 600
8 Correct 5 ms 512 KB Correct : C = 0
9 Partially correct 7 ms 640 KB Partially correct : C = 600
10 Partially correct 6 ms 640 KB Partially correct : C = 600
11 Partially correct 7 ms 688 KB Partially correct : C = 600
12 Partially correct 6 ms 684 KB Partially correct : C = 600
13 Partially correct 6 ms 640 KB Partially correct : C = 600
14 Partially correct 6 ms 512 KB Partially correct : C = 600
15 Partially correct 7 ms 640 KB Partially correct : C = 600
16 Partially correct 6 ms 728 KB Partially correct : C = 481
17 Incorrect 6 ms 640 KB Wrong
18 Partially correct 6 ms 640 KB Partially correct : C = 482
19 Partially correct 6 ms 640 KB Partially correct : C = 600
20 Partially correct 6 ms 640 KB Partially correct : C = 600
21 Partially correct 6 ms 640 KB Partially correct : C = 600
22 Partially correct 6 ms 640 KB Partially correct : C = 401
23 Partially correct 6 ms 640 KB Partially correct : C = 600
24 Partially correct 6 ms 512 KB Partially correct : C = 600
25 Partially correct 6 ms 640 KB Partially correct : C = 600
26 Partially correct 6 ms 472 KB Partially correct : C = 600
27 Partially correct 7 ms 640 KB Partially correct : C = 600