求助大佬

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

@[江户川コナン](/user/359430) ```cpp #include<bits/stdc++.h> using namespace std; long long n; struct team { long long level,nation;//实力、编号 }a[1005]; bool cmp(team x,team y) { return x.level>y.level;//按实力排序 } int main() { cin >> n; n=pow(2,n);//2的n次方 for(int i=1; i<=n; i++) { cin >> a[i].level;//输入实力 a[i].nation=i;//保存编号 } sort(a+1,a+n/2+1,cmp);//前一半部分最大的和后一半部分最大的中间必定有一个是亚军 sort(a+n/2+1,a+1+n,cmp); if (a[1].level>a[n/2+1].level)//如果亚军是后一半部分的最大值 cout << a[n/2+1].nation;//输出编号 else//同理 cout << a[1].nation; return 0; } ``` 希望我的代码能帮助你o( ̄▽ ̄)d
by kdy20100729 @ 2021-09-29 15:56:46


|