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:1 2 4 3 524
7
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 的視力真的很不錯,竟然能夠數清楚在他前方十公尺左右每個位置的瓶子的數量。他突然發現這是乙個炫耀自己好視力的藉口 他看清遠方瓶子的個數後從某個位置發球,這樣就能打倒一定...