P1918 保齡球 洛谷

2022-04-10 23:04:19 字數 1485 閱讀 8146

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

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

1 ooo

2 oooo

3 o 4 oo

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

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

輸入格式:

輸入檔名為 bowling.in。

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

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

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

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

輸出格式:

輸出檔名為 bowling.out。

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

輸入樣例#1:

5

1 2 4 3 524

7

輸出樣例#1:

3

0

【資料範圍】

對於 50%的資料,1 ≤ n,q ≤ 1000,1 ≤ai,m ≤ 10^5

對於 1000%的資料,1 ≤ n,q ≤ 100000,1 ≤ai,m ≤ 10^9

1 #include 2 #include 3 #include 4

#define maxn 100015

5using

namespace

std;67

intn,m;

8int

b,l,r,midd;

9bool

judge;

10struct

node

11a[maxn];

1415

bool

cmp(node aa,node bb)

1619

20int

main()

2128 sort(a+1,a+n+1

,cmp);

29 cin>>m;

30for(int i=1;i<=m;i++)

3142

if(b>a[midd].x)

4347

if(b==a[midd].x)

485253}

54if

(judge)

5559

else

60 cout<<0

<

62return0;

63 }

二分查詢+快排

洛谷 P1918 保齡球

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

P1918 保齡球 (簡單二分)

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

洛谷 保齡球

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