Election of the King

Election of the King

https://ac.nowcoder.com/acm/contest/57358/F

#include <bits/stdc++.h>
using namespace std;
const int N=1e6+5;
int a[N],s[N];
int check(int m,int l,int r)
{
    if(m-l<=r-m) return 1;
    else  return 0;
}
int main()
{
    int n,l,r;
    cin>>n;
    for(int i=1;i<=n;i++)
    {
        cin>>s[i];
        a[i]=s[i];
    }
    l=1;
    r=n;
    sort(a+1,a+n+1);
    for(int i=1;i<=n-1;i++)
    {
        if(check(a[(l+r)/2],a[l],a[r])) r--;
        else l++;
    }
    for(int i=1;i<=n;i++)
    {
        if(a[l]==s[i])
        {
            l=i;
            break;
        }
    }
    cout<<l;
    return 0;
}
全部评论

相关推荐

牛客20485985...:抱抱😘,首先你还有春招,然后就算这时候没上岸也没关系,大部分人都是这样,毕业了再找也成,最后工作只是生活的一小部分,找到工作也不是一个必须的事情。不要气馁不要焦虑你只是陷入了短暂的低谷,你也一直有退路
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务