P4715 c++,最后一个测试点runtime error,如何改进
查看原帖
P4715 c++,最后一个测试点runtime error,如何改进
1380402
crymme楼主2024/7/17 18:33
#include<iostream>
using namespace std;
int n ;
int value[1 << 7];
int winner[1 << 7];
void dfs(int x)
{
	if (x >=(1 << n)) return;
	dfs(2 * x);
	dfs(2 * x + 1);
	int lvalue = value[2 * x];
	int rvalue = value[2 * x + 1];
	if (lvalue > rvalue)
	{
		value[x] = lvalue;
		winner[x] = winner[2 * x];
	}
	else
	{
		value[x] = rvalue;
		winner[x] = winner[2 * x + 1];
	}
}

int main()
{
	cin >> n;
	for (int i = 0; i < (1<<n); i++)
	{
		cin >> value[(1<<n)+i];
		winner[(1 << n )+ i] = i + 1;
	}
	dfs(1);
	int num = value[2] > value[3] ? winner[3] : winner[2];
	cout << num;
}
2024/7/17 18:33
加载中...