80分求助
查看原帖
80分求助
384746
_JG233_楼主2021/5/30 09:45
#include <iostream>
#include <cmath>
const int MAXN = 300;
using namespace std;
int a[MAXN] = {0};	// 号码 
int b[MAXN] = {0};	// 实力 
int half1(int mid = 0){
	int max_n = 0;
	for(int i=1;i<=mid;i++){
		if(b[i] > max_n){
			max_n = b[i];
		}
	} 
	return max_n;
}
int half2(int mid = 0){
	int max_n = 0;
	for(int i=mid;i<=mid*2;i++){
		if(b[i] > max_n){
			max_n = b[i];
		}
	} 
	return max_n;
}
int main(){
	int n,n2 = 0;
	cin >> n;
	for(int i=1;i<=pow(2,n);i++){
		a[i] = i;
		cin >> n2;
		b[i] = n2;
	}
	int mid = pow(2,n)/2;
	if(half1(mid) > half2(mid)){
		
		for(int i=1;i<=mid*2;i++){
			if(b[i] == half2(mid)){
				cout << a[i];
				break;
			}
		}
	}
	else{
		for(int i=1;i<=mid*2;i++){
			if(b[i] == half1(mid)){
				cout << a[i];
				break;
			}
		}
	}
	return 0;
}

请各位大佬帮我改改,谢谢!!!

2021/5/30 09:45
加载中...