acwing 789 数的范围

简介: acwing 789 数的范围

活动 - AcWing

最左边的x  ----- >= x

最右边的x ------ <= x

x的前一个 ------- <x

x的后一个 ---------> x

#include<iostream>
#include<cstring>
#include<algorithm>
 
using namespace std ;
const int N = 100010 ;
int a[N] ;
int n , q ;
int main(){
 
  cin >> n >> q ;
  for(int i = 0 ; i < n ; i ++) cin >> a[i] ;
  while(q --){
    int k ; cin >> k ;
    int l = 0 , r= n -1;
    while(l < r){
      int mid = (l+r)>>1 ;
      if(a[mid] >= k) r = mid ;
      else l = mid + 1 ;   
    }
    if(a[l] != k) {
      cout << "-1 -1" << endl ;
      continue ;
    }
    else {
      cout << l << " "  ;
      int l2 = 0 , r2 = n-1 ; 
      while(l2 < r2) {
        int mid = l2 + r2 + 1 >> 1 ;
        if(a[mid] <= k) l2 = mid ;
        else r2 = mid - 1 ;
      }
      cout << l2 << endl ;
    }
  }
  return 0 ;
}
相关文章
|
5月前
leetcode:414. 第三大的数
leetcode:414. 第三大的数
27 0
|
5月前
leetcode-414:第三大的数
leetcode-414:第三大的数
36 0
|
5月前
windy数(数位dp)
windy数(数位dp)
29 0
|
5月前
|
机器学习/深度学习
leetcode-507:完美数
leetcode-507:完美数
36 0
【剑指offer】-和为S的两个数-38/67
【剑指offer】-和为S的两个数-38/67
|
12月前
【Leetcode -605.种花问题 -628.三个数的最大乘积】
【Leetcode -605.种花问题 -628.三个数的最大乘积】
25 0
|
程序员
【牛客网】HJ99 自守数、OR86 返回小于 N 的质数个数
目录 HJ99 自守数 OR86 返回小于 N 的质数个数
78 0
每日一题——“水仙花数”
哈喽大家好,我是保护小周ღ,本期为大家带来的是求“水仙花数”,此水仙花,非彼水仙花,一起来看看把~
105 0
|
Python
LeetCode 414. 第三大的数
给你一个非空数组,返回此数组中 第三大的数 。如果不存在,则返回数组中最大的数。
82 0
AcWing 806. 两个数的和
AcWing 806. 两个数的和
71 0
AcWing 806. 两个数的和