Submission #759957

# Submission time Handle Problem Language Result Execution time Memory
759957 2023-06-17T06:05:51 Z denniskim Lokahian Relics (FXCUP4_lokahia) C++17
0 / 100
2 ms 844 KB
#include "lokahia.h"
#include <bits/stdc++.h>

using namespace std;
typedef int ll;
typedef __int128 lll;
typedef long double ld;
typedef pair<ll, ll> pll;
typedef pair<ld, ld> pld;
#define MAX 9223372036854775807LL
#define MIN -9223372036854775807LL
#define INF 0x3f3f3f3f3f3f3f3f
#define fi first
#define se second
#define fastio ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); cout << fixed; cout.precision(10);
#define sp << " "
#define en << "\n"
#define compress(v) sort(v.begin(), v.end()), v.erase(unique(v.begin(), v.end()), v.end())

ll chk[210][210];
ll cou[210];
ll grp[210];

ll FindBase(ll N)
{
	if(N <= 2)
		return 1;
	
	srand(time(NULL));
	
	if(N <= 17)
	{
		for(ll i = 0 ; i < N ; i++)
		{
			for(ll j = i + 1 ; j < N ; j++)
			{
				ll gap = CollectRelics(i, j);
				
				if(gap != -1)
				{
					grp[i] = gap;
					grp[j] = gap;
				}
			}
		}
		
		for(ll i = 0 ; i < N ; i++)
			cou[grp[i]]++;
		
		ll maxx = 0, ans = 0;
		
		for(ll i = 0 ; i < N ; i++)
		{
			if(maxx < cou[i])
			{
				maxx = cou[i];
				ans = i;
			}
		}
		
		if(maxx * 2 >= N)
			return ans;
		
		return -1;
	}
	
	for(ll i = 0 ; i < 300 ; i++)
	{
		ll num1 = rand() % N, num2 = rand() % N;
		ll coco = 0;
		
		while(chk[num1][num2] || num1 == num2)
		{
			num1 = rand() % N;
			num2 = rand() % N;
			coco++;
			
			if(coco >= 100000)
				break;
		}
		
		if(coco >= 100000)
			continue;
		
		ll gap = CollectRelics(num1, num2);
		chk[num1][num2] = chk[num2][num1] = 1;
		
		if(gap != -1)
			cou[gap]++;
	}
	
	ll maxx = 0, sum = 0, ans = 0;
	
	for(ll i = 0 ; i < N ; i++)
	{
		if(cou[i] > maxx)
		{
			maxx = cou[i];
			ans = i;
		}
		
		sum += cou[i];
	}
	
	if(sum - maxx * 2 <= 10)
		return ans;
	
	return -1;
}
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 724 KB Wrong
2 Incorrect 1 ms 768 KB Wrong
3 Correct 1 ms 724 KB Correct : C = 300
4 Incorrect 1 ms 596 KB Wrong
5 Correct 1 ms 628 KB Correct : C = 300
6 Correct 1 ms 596 KB Correct : C = 300
7 Incorrect 1 ms 596 KB Wrong
8 Incorrect 1 ms 724 KB Wrong
9 Correct 1 ms 596 KB Correct : C = 300
10 Correct 1 ms 724 KB Correct : C = 300
11 Correct 1 ms 724 KB Correct : C = 300
12 Correct 1 ms 596 KB Correct : C = 300
13 Incorrect 1 ms 580 KB Wrong
14 Correct 1 ms 724 KB Correct : C = 300
15 Correct 1 ms 468 KB Correct : C = 10
16 Correct 2 ms 724 KB Correct : C = 300
17 Correct 1 ms 596 KB Correct : C = 300
18 Incorrect 1 ms 724 KB Wrong
19 Correct 1 ms 724 KB Correct : C = 300
20 Correct 1 ms 724 KB Correct : C = 300
21 Correct 1 ms 724 KB Correct : C = 300
22 Incorrect 1 ms 596 KB Wrong
23 Incorrect 0 ms 468 KB Wrong
24 Correct 1 ms 724 KB Correct : C = 300
25 Correct 1 ms 596 KB Correct : C = 300
26 Incorrect 1 ms 844 KB Wrong
27 Correct 1 ms 724 KB Correct : C = 300