數的範圍 二分

2021-10-02 09:41:37 字數 955 閱讀 1674

給定乙個按照公升序排列的長度為n的整數陣列,以及 q 個查詢。

對於每個查詢,返回乙個元素k的起始位置和終止位置(位置從0開始計數)。

如果陣列中不存在該元素,則返回「-1 -1」。

輸入格式

第一行包含整數n和q,表示陣列長度和詢問個數。

第二行包含n個整數(均在1~10000範圍內),表示完整陣列。

接下來q行,每行包含乙個整數k,表示乙個詢問元素。

輸出格式

共q行,每行包含兩個整數,表示所求元素的起始位置和終止位置。

如果陣列中不存在該元素,則返回「-1 -1」。

資料範圍

1≤n≤100000

1≤q≤10000

1≤k≤10000

輸入樣例:

6 31 2 2 3 3 434

5輸出樣例:

3 45 5

-1 -1

注意:求第乙個出現和最後乙個出現的值得二分的不同

#include 

using namespace std;

int n,q,k;

int a[

100005];

intmain()

for(

int i =

0; i < q; i++

)else

}//cout << "l = " << l << " r = " << r << endl;

if(a[l]

!= t)

else

cout << l << endl;}}

return0;

}/*6 31 2 2 3 3 434

5*/

數的範圍 二分

題目描述 給定乙個按照公升序排列的長度為n的整數陣列,以及 q 個查詢。對於每個查詢,返回乙個元素k的起始位置和終止位置 位置從0開始計數 如果陣列中不存在該元素,則返回 1 1 輸入格式 第一行包含整數n和q,表示陣列長度和詢問個數。第二行包含n個整數 均在1 1000010000範圍內 表示完整...

數的範圍 整數二分

給定乙個按照公升序排列的長度為n的整數陣列,以及 q 個查詢。對於每個查詢,返回乙個元素k的起始位置和終止位置 位置從0開始計數 如果陣列中不存在該元素,則返回 1 1 輸入格式 第一行包含整數n和q,表示陣列長度和詢問個數。第二行包含n個整數 均在1 10000範圍內 表示完整陣列。接下來q行,每...

典型二分問題 數的範圍

題目描述 給定乙個按照公升序排列的長度為n的整數陣列,以及 q 個查詢。對於每個查詢,返回乙個元素k的起始位置和終止位置 位置從0開始計數 如果陣列中不存在該元素,則返回 1 1 輸入格式 第一行包含整數n和q,表示陣列長度和詢問個數。第二行包含n個整數 均在1 10000範圍內 表示完整陣列。接下...