結果

問題 No.9 モンスターのレベル上げ
ユーザー plasma_eplasma_e
提出日時 2019-01-17 20:56:07
言語 C++17
(gcc 12.3.0 + boost 1.83.0)
結果
CE  
(最新)
AC  
(最初)
実行時間 -
コード長 906 bytes
コンパイル時間 750 ms
コンパイル使用メモリ 96,656 KB
最終ジャッジ日時 2024-11-14 20:46:23
合計ジャッジ時間 1,120 ms
ジャッジサーバーID
(参考情報)
judge2 / judge1
このコードへのチャレンジ
(要ログイン)
コンパイルエラー時のメッセージ・ソースコードは、提出者また管理者しか表示できないようにしております。(リジャッジ後のコンパイルエラーは公開されます)
ただし、clay言語の場合は開発者のデバッグのため、公開されます。

コンパイルメッセージ
main.cpp: In function 'int main()':
main.cpp:24:24: error: 'numeric_limits' is not a member of 'std'
   24 |         int min = std::numeric_limits<int>::max();
      |                        ^~~~~~~~~~~~~~
main.cpp:24:39: error: expected primary-expression before 'int'
   24 |         int min = std::numeric_limits<int>::max();
      |                                       ^~~

ソースコード

diff #

#include<iostream>
#include<vector>
#include<algorithm>
#include<functional>
#include<set>
#include<map>

int main()
{
	std::map<std::pair<int, int>, int> base;
	int N;
	std::cin >> N;
	for (int i = 0; i < N; ++i)
	{
		int v;
		std::cin >> v;
		++base[std::make_pair(v, 0)];
	}
	std::vector<int> enemies(N);
	for (auto& v : enemies)
	{
		std::cin >> v;
	}
	int min = std::numeric_limits<int>::max();
	for (int i = 0; i < N; ++i)
	{
		auto now = base;
		for (int k = 0; k < N; ++k)
		{
			auto top = *now.begin();
			if (--now[top.first] == 0)
			{
				now.erase(top.first);
			}
			auto n = top.first.first + enemies[(i + k) % N] / 2;
			auto u = top.first.second + 1;
			++now[std::make_pair(n, u)];
		}
		int max = 0;
		for (auto const& p : now)
		{
			max = std::max(max, p.first.second);
		}
		min = std::min(min, max);
	}
	std::cout << min << std::endl;
}
0