救,孩纸不知道为什么wa了山个
查看原帖
救,孩纸不知道为什么wa了山个
490997
月野秋见楼主2021/8/28 18:29

献上code

#include<bits/stdc++.h>
using namespace std;
int n,a[129],l,r,ans;
int champion(int x,int y){
	int max=-1,maxrem;
	for(int i=x;i<=y;i++)if(a[i]>max){
		max=a[i];
		maxrem=i;
	}
	return maxrem;
}
int main(){
	cin>>n;
	int t=n,n=1;
	for(int i=1;i<=t;i++)n*=2;
	for(int i=1;i<=n;i++)cin>>a[i];
	if(champion(1,n)>n/2)cout<<max(champion(1,n/4),champion(n/4+1,n/2));
	else cout<<max(champion(n/2+1,n/4*3),champion(n/4*3+1,n));
	return 0;
}

简单解释下;

先把2^n给平分了

然后如果冠军在左,左边全盒饭了

在右右边全盒饭

所以不要和冠军一组

然后在有亚军的那边寻找冠军(脑子瓦特又分了)

救救孩纸吧

2021/8/28 18:29
加载中...