#include<stdio.h>
#include<bits/stdc++.h>
using namespace std;
int t=1,n,c,arr[1000],temp,brr[1000];
int main()
{
scanf("%d",&n);
temp=pow(2,n);
for(int i=1;i<=temp;i++)
{
scanf("%d",&arr[i]);
brr[arr[i]]=i;
}
while(temp!=2)
{
t=1;
for(int i=1;i<=temp;i+=2)
arr[t++]=max(arr[i],arr[i+1]);
temp/=2;
}
c=min(arr[1],arr[2]);
printf("%d",brr[c]);
return 0;
}
#include<stdio.h>
#include<bits/stdc++.h>
using namespace std;
struct country{
int a,b;
}arr[1000];
int t=1,n,c,temp,brr[1000];
int main()
{
scanf("%d",&n);
temp=pow(2,n);
for(int i=1;i<=temp;i++)
{
scanf("%d",&arr[i].a);
arr[i].b=i;
}
while(temp!=2)
{
t=1;
for(int i=1;i<=temp;i+=2)
{
if(arr[i].a>arr[i+1].a)
{
arr[t].a=arr[i].a;
arr[t].b=arr[i].b;
}
else{
arr[t].a=arr[i+1].a;
arr[t].b=arr[i+1].b;
}
t++;
}
temp/=2;
}
if(arr[1].a>arr[2].a)
printf("%d",arr[2].b);
else
printf("%d",arr[1].b);
return 0;
}
第一个出现re错误,第二个就过了,我想就算我没考虑那个相同国家的情况,那也应该是wa吧,为啥是re错误勒,求各位大佬指教