当前位置: 首页 > news >正文

第十六届蓝桥杯康复训练--5

题目链接:        789. 数的范围 - AcWing题库

思路:二分找数的左右端点

代码:

#include<bits/stdc++.h>
using namespace std;

#define N 100010

int n,m;
int a[N];

int find1(int u){
    int l=1,r=n;
    while(l<=r){
        int mid=l+r>>1;
        if(a[mid]<u)l=mid+1;
        else r=mid-1;
    }
    
    if(a[l]==u)return l-1;
    return -1;
}

int find2(int u){
    int l=1,r=n;
    while(l<=r){
        int mid=l+r>>1;
        if(a[mid]<=u)l=mid+1;
        else r=mid-1;
    }
    
    if(a[r]==u)return r-1;
    return -1;
}

void solve(){
    cin>>n>>m;
    for(int i=1;i<=n;i++)cin>>a[i];
    while(m--){
        int u;
        cin>>u;
        cout<<find1(u)<<" "<<find2(u)<<endl;
    }
}

int main(){
    
    int t=1;
    // cin>>t;
    while(t--){
        solve();
    }
    
    
    return 0;
}

相关文章:

  • 排列与二进制
  • 力扣刷题记录-二叉树展开为链表
  • 【2025】基于springboot+vue的教务/课程/成绩管理系统设计与实现(源码、万字文档、图文修改、调试答疑)
  • Agent Team 多智能体系统解析
  • Python 魔术方法深度解析:__getattr__ 与 __getattribute__
  • Springboot之RequestContextHolder 学习笔记
  • CANFD芯片在辐射环境中的技术演进
  • 【数学建模】最大最小值模型详解
  • Spring的基本用法
  • 服务器负载均衡
  • 机器学习——Numpy的神奇索引与布尔索引
  • JWT 认证机制
  • 第十三章 : Names in Templates_《C++ Templates》notes
  • 使用Gitee Go流水线部署个人项目到服务器指南
  • 稳定运行的以Oracle NoSQL数据库为数据源和目标的ETL性能变差时提高性能方法和步骤
  • 2025年01月03日微创网络(杭州银行外包)前端面试
  • 香橙派连接摄像头过程
  • 深入剖析 RocketMQ 的 ConsumerOffsetManager
  • RK3568开发笔记-egtouch触摸屏ubuntu系统屏幕校准
  • vue3中,通过获取路由上的token直接进入首页,跳过登录页面
  • 当我们提起拉动消费时,应该拉动什么消费?
  • 江苏省委社会工作部部长等多人拟在省志愿服务联合会任职
  • 中方是否认同俄方关于新纳粹主义观点?外交部:联大曾多次通过相关决议
  • 总奖池超百万!第五届七猫现实题材征文大赛颁奖在即
  • 早期投资人蜂巧资本清仓泡泡玛特套现超22亿港元,称基金即将到期
  • 马克思主义理论研究教学名师系列访谈|曾瑞明:想通了才可能认准,认准了才能做好