Submission #150563

#TimeUsernameProblemLanguageResultExecution timeMemory
150563お前はもう死んでいる (#200)Lokahian Relics (FXCUP4_lokahia)C++17
0 / 100
7 ms700 KiB
#include "lokahia.h"
#include <bits/stdc++.h>
using namespace std;

const int N = 205;

int com[N];

int FindBase(int n)
{
	fill(com, com + n, -1);
	vector<int> s, t, de;
	int la = 0;
	for (int i = 0; i < n; i++)
		s.push_back(i);
	while (s.size() >= 1)
	{
		sort(s.begin(), s.end());
		s.erase(unique(s.begin(), s.end()), s.end());
		for (int i = 1; i < s.size(); i += 2)
		{
			int u = CollectRelics(s[i - 1], s[i]);
			if (u != -1)
			{
				com[s[i] - 1] = com[s[i]] = com[u] = u;
				t.push_back(u);
			}
		}
		if (s.size() & 1)
		{
			de.push_back(s.back());
			la = s.back();
		}
		swap(s, t);
		t.clear();
	}
	int sz = 0;
	for (int i = 0; i < n; i++)
		if (com[i] == la)
			sz++;
		else if (com[i] == -1 && CollectRelics(la, i) != -1)
			sz++;
	return sz > n / 2 ? la : -1;
}

Compilation message (stderr)

lokahia.cpp: In function 'int FindBase(int)':
lokahia.cpp:20:21: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for (int i = 1; i < s.size(); i += 2)
                   ~~^~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...