整數二分 AcWing 789 數的範圍

2021-10-22 14:29:07 字數 957 閱讀 6876

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

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

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

輸入格式

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

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

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

輸出格式

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

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

資料範圍

1≤n≤100000

1≤q≤10000

1≤k≤10000

輸入樣例:

631

2233

4345

輸出樣例:

345

5-1-

1

#include

using

namespace std;

const

int n=

100010

;int n,m;

int q[n]

;int

main()

if(q[l]

!=x)

printf

("-1 -1\n");

else

cout<< l

}

整數二分模板(AcWing 789)

這裡帶來一手整數的二分模板。bool check int x 檢查x是否滿足某種性質 區間 l,r 被劃分成 l,mid 和 mid 1,r 時使用 int bsearch 1 int l,int r returnl 區間 l,r 被劃分成 l,mid 1 和 mid,r 時使用 int bsear...

AcWing 789 數的範圍

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

AcWing 789 數的範圍

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