80求救

P4715 【深基16.例1】淘汰赛

```cpp #include<iostream> using namespace std; int n,l; struct data{ int val,id; }a[10][130]; int pow(int n,int x){ int m=n; for(int i=1;i<x;i++)n*=m; return n; } data max(data a,data b){ return a.val>b.val?a:b; } int main() { std::ios::sync_with_stdio(0); cin>>l; n=pow(2,l); for(int i=1;i<=n;i++) cin>>a[0][i].val,a[0][i].id=i; for(int i=1;i<=l;i++,n/=2) for(int j=1,k=1;j<=n;j+=2,k++) a[i][k]=max(a[i-1][j],a[i-1][j+1]); cout<<(a[l-1][1].val>a[l-1][2].val?a[l-1][2].id:a[l-1][1].id)<<endl; return 0; } ```
by Zvelig1205 @ 2021-09-04 16:52:30


|