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

第十六届蓝桥杯康复训练--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;
}


http://www.kler.cn/a/597302.html

相关文章:

  • 单片机原理与应用笔记
  • Excel(进阶篇):powerquery详解、PowerQuery的各种用法,逆透视表格、双行表头如何制作透视表、不规则数据如何制作数据透视表
  • 【Vitis AIE】FPGA图像处理 11 双线性插值 Bilinear Interpolation
  • 使用 ncurses 库创建文本用户界面:基础函数详解
  • 淘宝历史价格数据获取指南:API 与爬虫方案的合法性与效率对比
  • Baklib智能内容推荐的核心是什么?
  • 康谋方案 | AVM合成数据仿真验证方案
  • 如何用docker搭建php环境
  • 有哪些使用 DHTMLX 小部件创建 JavaScript 数据透视网格的关键点?
  • 实时视频分析的破局之道:蓝耘 MaaS 如何与海螺 AI 视频实现高效协同
  • 一人系统 之 为什么要做一人系统?
  • 深度学习 第4章 数值计算和 Deepseek 的实践
  • 计算机的基本组合和工作原理
  • Flink 内存管理
  • 配置阿里云yum源
  • Python图像处理PIL库安装与使用
  • c#知识点补充4
  • 二分类任务和多分类任务
  • Vue 3 中使用 vue - pdf - embed + vue3 - pdfjs 在线预览 PDF
  • python 3.13.1 下载与安装(附安装包)python 3.13.1详细安装教程