SDUT L 土撥鼠擲鼬鼠 二分查詢

2021-10-11 16:30:20 字數 1000 閱讀 2816

description

神奇的土撥鼠今天又很乖的皮的玩起了鼬鼠,今天依舊是擲鼬鼠。土撥鼠忘記了自己家周圍有著 n 圈的著火帶。已知距離土撥鼠 r[i] (1⩽i⩽n) 的位置處有一圈著火地帶。現在土撥鼠有 m次投擲,告訴你它投擲的距離 l[i] (1⩽i⩽m),問你當前投擲的鼬鼠會不會解脫 gg 掉,也就是落在著火地帶上(當前僅當 l[i] == r[j] (1⩽j⩽n) 時,我們認為鼬鼠落在了著火帶上)。

input

第一行是以空格分隔的兩個整數 n, m。n 表示著火帶的圈數,m 表示投擲的次數。

接下來一行 n 個整數 r[i],表示距離土撥鼠家 r[i]的位置處有一圈著火帶。

接下來 m 行,每行乙個整數 l[i],表示土撥鼠投擲的距離(1⩽n,m⩽10^5),(1⩽r[i],l[i]⩽1e9 )

output

輸出有 mm 行,每行對於每次詢問,如果鼬鼠會落在著火帶上輸出 gg!,否則輸出 the world is so beautiful~。

sample

input

551

4578

10436

5

output

the world is so beautiful~

gg!the world is so beautiful~

the world is so beautiful~

gg!

#include

using

namespace std;

int a[

1000010];

intsor

(int l,

int r,

int k)

return-1

;}intmain()

sort

(a,a+n)

;while

(m--

)return0;

}

迭代二分查詢二分查詢

在寫這篇文章之前,已經寫過了幾篇關於改迭代二分查詢主題的文章,想要了解的朋友可以去翻一下之前的文章 bentley在他的著作 writing correct programs 中寫道,90 的計算機專家不能在2小時內寫出完整確正的二分搜尋演算法。難怪有人說,二分查詢道理單簡,甚至小學生都能明確。不過...

1128 二分 二分查詢

時間限制 10000ms 單點時限 1000ms 記憶體限制 256mb 描述nettle最近在玩 艦 因此nettle收集了很多很多的船 這裡我們假設nettle氪了很多金,開了無數個船位 去除掉重複的船之後,還剩下n 1 n 1,000,000 種不同的船。每一艘船有乙個稀有值,任意兩艘船的稀有...

二分查詢及變種二分查詢

二分查詢也稱折半查詢 binary search 它的查詢效率很好。二分查詢有乙個要求是必須採用順序儲存結構,而且表種的元素是有序的。只有滿足這個條件我們才能使用二分查詢。查詢條件 查詢區域的左邊界,小於等於查詢區域的右邊界 查詢過程 1.迴圈條件 查詢條件 2.計算序列中間下標位置 3.如果待查詢...