贪心就完事,1号点是小美,问max.那么就是每次都操作都对小美最有利.
如何操作呢?首先呢,假如我是小美,我肯定是把这些数分成2组,一组是比我大的数,另外一组是比我小的数.我希望怎么比赛呢,肯定是我每次跟比我小的数进行比赛,然后比我大的人进行比赛,比我小的人进行比赛,这样子是最优的,然后代码就很好写了.
代码如下:

#include <bits/stdc++.h>
using namespace std;
const int N=(1<<21);
int a[N];
int main()
{
    int n;
    scanf("%d",&n);
    for(int i=1;i<=n;i++) scanf("%d",&a[i]);
    int cnt1=0,cnt2=0;
    for(int i=2;i<=n;i++) 
    {
        if(a[i]>a[1]) cnt1++;
        else          cnt2++;
    }
    //总有一个会单出来.不是cnt1就是cnt2.
        int ans=0;
    while(cnt2>1)
    {
        cnt2/=2;
        ans++;
    }
    cout<<ans<<endl;
    return 0;
}