可以不用DFS,只要把积分比小美低的选手和小美比就可以了

每次比赛都会减掉当前对应的那场比赛的一半的选手,直接除2是不对的

#include <iostream>

using namespace std;

int main()
{
    int n,cnt=0,ans=0;
    scanf("%d",&n);
    int a[n];
    for(int i=1;i<=n;i++) {
    	scanf("%d",&a[i]);
    	if (i>1) if (a[i]<=a[1]) cnt++;
	}
    while (cnt>1) {
        cnt/=2;
        ans++;
    }
    
    cout << ans << endl;
    
    return 0;
}
//偶数个可与小美比赛的对象时
//9
//4 1 2 1 2 1 2 1 2
//4 2 2 2 2
//4 2 2
//4 2
//4
//奇数个可与小美比赛的对象时
//8
//4 1 2 1 2 1 2 1
//4 2 2 2
//4 2
//4