Discuz! Board

 找回密码
 立即注册
查看: 54|回复: 0

2025.3.1

[复制链接]

7

主题

7

帖子

60

积分

注册会员

Rank: 2

积分
60
发表于 2025-3-1 14:27:58 | 显示全部楼层 |阅读模式
#include<bits/stdc++.h>         
using namespace std;
int a[1000000];
int main()
{
    int n;
    cin>>n;
        int x;
    cin>>x;
    int mid;
    for (int i=1;i<=n;i++)
    {
        cin>>a[i];
    }

    int l=1;
    int r=n;
    while (1)
    {
        mid=l+(r-l)/2;
        if(a[mid]==x)
        {
            //cout<<mid;
           // break;
           r=mid-1;
        }
        else if(x>a[mid]) l=mid+1;
        else if(x<a[mid]) r=mid-1;
        if(l>r)
        {
           // cout<<-1;
           if(l<=n)
           {
                           cout<<l;
                           break;
                   }
           else
            {
                    cout<<-1;
                    break;
                        }
        }
                 
    }
    return 0;
}

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|DiscuzX

GMT+8, 2025-5-29 05:28 , Processed in 0.055031 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.. 技术支持 by 巅峰设计

快速回复 返回顶部 返回列表