P1918 保齡球 (簡單二分)

2021-07-10 11:16:36 字數 951 閱讀 1470

dl 算緣分算得很煩悶,所以常常到體育館去打保齡球解悶。因為他保齡球已經打了幾十年了,所以技術上不成問題,於是他就想玩點新花招。

dl 的視力真的很不錯,竟然能夠數清楚在他前方十公尺左右每個位置的瓶子的數量。他突然發現這是乙個炫耀自己好視力的藉口——他看清遠方瓶子的個數後從某個位置發球,這樣就能打倒一定數量的瓶子。

1    ooo

2    oooo

3    o

4    oo

如上圖,每個「o」代表乙個瓶子。如果 dl 想要打倒 3 個瓶子就在 1 位置發球,想要打倒 4 個瓶子就在 2 位置發球。

現在他想要打倒 m 個瓶子。他告訴你每個位置的瓶子數,請你給他乙個發球位置。

輸入輸出格式input/output

輸入格式:

輸入檔名為 bowling.in。

第一行包含乙個正整數 n,表示位置數。

第二行包含 n 個正整數,第 i 個數。表示第 i 個位置的瓶子數,保證各個位置的瓶子數不同。

第三行包含乙個正整數 q,表示 dl 發球的次數。

第四行至檔案末尾,每行包含乙個正整數 m,表示 dl 需要打倒 m 個瓶子。

輸出格式:

輸出檔名為 bowling.out。

共 q 行。每行包含乙個整數,第 i 行的整數表示 dl 第 i 次的發球位置。若無解,則輸出 0。

解題思路:資料太大不能雜湊,就排序後二分查詢。

**如下:

#include #include #include using namespace std;

const int maxn=100000+10;

struct node

nd[maxn];

int cmp(node a,node b)

{ return a.num

洛谷 P1918 保齡球

dl 算緣分算得很煩悶,所以常常到體育館去打保齡球解悶。因為他保齡球已經打了幾十年了,所以技術上不成問題,於是他就想玩點新花招。dl 的視力真的很不錯,竟然能夠數清楚在他前方十公尺左右每個位置的瓶子的數量。他突然發現這是乙個炫耀自己好視力的藉口 他看清遠方瓶子的個數後從某個位置發球,這樣就能打倒一定...

P1918 保齡球 洛谷

dl 算緣分算得很煩悶,所以常常到體育館去打保齡球解悶。因為他保齡球已經打了幾十年了,所以技術上不成問題,於是他就想玩點新花招。dl 的視力真的很不錯,竟然能夠數清楚在他前方十公尺左右每個位置的瓶子的數量。他突然發現這是乙個炫耀自己好視力的藉口 他看清遠方瓶子的個數後從某個位置發球,這樣就能打倒一定...

zzulioj 1918 二分最大匹配

time limit 1 sec memory limit 128 mb submit 345 solved 78 submit status web board 晴天也來尋寶啦,有乙個m層的寶塔,只能從第一層開始一層一層的往上走,每層都有乙個門,你需要用鑰匙來開啟門才能繼續走,現在晴天有n把鑰匙,...