题解 | NC13223

锦标赛

https://ac.nowcoder.com/acm/problem/13223

可以用模拟的思路来处理这个问题。 Tip:当lar为奇数时,显然seq中要出一个数与其配对,配对结果是lar保留,seq被减一。


#include<iostream>
#include<algorithm>
using namespace std;

int main(){
#ifdef LOCAL
freopen("in.txt","r",stdin);
freopen("out.txt","w",stdout);
#endif
    int n;
    cin>>n;
    int seq=0;
    int tem;
    int me;
    cin>>me;
    for(int i=1;i<n;++i){
        cin>>tem;
        if(me>=tem){
            ++seq;
        }
    }
    int ans=0;
    int lar=n-1-seq;
    while(seq>0){
        if(lar&1){
            if(seq==1){
                break;
            }
            ++lar;//special,
            --seq;
        }
        lar>>=1;
        --seq;
        seq>>=1;
        ++ans;
    }
    cout<<ans;

}
全部评论

相关推荐

贪食滴🐶:你说熟悉扣篮的底层原理,有过隔扣职业球员的实战经验吗
点赞 评论 收藏
分享
我已成为0offer的糕手:别惯着,胆子都是练出来的,这里认怂了,那以后被裁应届被拖工资还敢抗争?
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务