60分求助QwQ
查看原帖
60分求助QwQ
1266289
xiaoxiao_liang楼主2024/7/13 11:10

求调

#include <bits/stdc++.h>
using namespace std;
struct coun{
	int id;
	int value;
}a[100000]={}; 
void race(int n,coun a[],int x){
	if(x>=(1<<n)){
		n--;
		x=pow(2,n-1);
	}
	if(x==1) return;
	if(a[x].value>a[x+1].value){
		a[x/2].value=a[x].value;
		a[x/2].id=a[x].id;
	}else{
		a[x/2].value=a[x+1].value;
		a[x/2].id=a[x+1].id;
	}
	race(n,a,x+2);
}
int main(){
	int n,p=1;
	cin>>n;
	for(int i=pow(2,n-1);i<pow(2,n);i++){
		cin>>a[i].value;
		a[i].id=p++;
	}
	race(n,a,pow(2,n-1));
	cout<<a[1].id;
	return 0;
}

2024/7/13 11:10
加载中...