萌新求救
查看原帖
萌新求救
969221
Fryderyk_Chopin楼主2023/10/7 12:43

1、4、5 RE了,2、3 对了,求大佬指点迷津~

#include<bits/stdc++.h>
using namespace std;
vector <int> ve;
int n,x;
struct foot{
    int x;
    int num;
}a[501];
int main(){
    cin>>n;
    n=pow(2,n);
    ve.push_back(0);
    for(int i=1;i<=n;i++){
        cin>>x;
        a[i].x=x;
        a[i].num=i;
        ve.push_back(x);
    }
    while(n>2){
        for(int i=2;i<=n;i+=2){
            if(ve[i]>ve[i-1]) ve.erase(ve.begin()+i-1);
            else ve.erase(ve.begin()+i);
        }
        n/=2;
    }
    if(ve[2]>ve[1]) ve.erase(ve.begin()+2);
    else ve.erase(ve.begin()+1);
    for(int i=1;i<=n;i++){
        if(a[i].x==ve[i]){
            cout<<a[i].num;
            return 0;
        }
    }
}
2023/10/7 12:43
加载中...