題目描述:
一年一度的「跳石頭」比賽又要開始了!
這項比賽將在一條筆直的河道中進行,河道中分布著一些巨大岩石。組委會已經選擇好了兩塊岩石作為比賽起點和終點。在起點和終點之間,有 n 塊岩石(不含起點和終點的岩石)。在比賽過程中,選手們將從起點出發,每一步跳向相鄰的岩石,直至到達終點。
為了提高比賽難度,組委會計畫移走一些岩石,使得選手們在比賽過程中的最短跳躍距離盡可能長。由於預算限制,組委會至多從起點和終點之間移走 m 塊岩石(不能移走起點和終點的岩石)。
輸入描述:
輸入檔案第一行包含三個整數 l,n,m,分別表示起點到終點的距離,起點和終點之間的岩石數,以及組委會至多移走的岩石數。
接下來 n 行,每行乙個整數,第 i 行的整數 di(0 < di < l)表示第 i塊岩石與起點的距離。這些岩石按與起點距離從小到大的順序給出,且不會有兩個岩石出現在同乙個位置。
輸出描述:
輸出檔案只包含乙個整數,即最短跳躍距離的最大值。
輸入:
25 5 2211
1417
21輸出:
4題意:
字面意思
題解:
二分**:
#include
#include
#include
#include
using
namespace std;
int l,n,m;
const
int maxn =
50000+5
;int a[maxn]
;bool
bsearch
(int x)
else last = i;}if
(cnt > m)
return
false
;else
return
true;}
intmain()
else right = mid -1;
}printf
("%d\n"
,ans);}
return0;
}
計蒜客t36352 魔法
肯定我要佔滿所有的葉子結點,否則以乙個葉子節點建樹的時候你選的所有點就都在一棵子樹裡,也就不符合要求。反過來,選擇了所有葉子節點,可以證明它是可行的,所以葉子節點構成的集合滿足要求而且最小。如果k 0 k 0k 0直接求出度為1 11的點的數目就好了 如果k 1 k 1k 1,列舉刪哪條邊,我用 x...
紅與黑 計蒜客 T1211
題目鏈結 典型的深搜題,基礎題。蒜廠有一間長方形的房子,地上鋪了紅色 黑色兩種顏色的正方形瓷磚。你站在其中一塊黑色的瓷磚上,只能向相鄰的黑色瓷磚移動。請寫乙個程式,計算你總共能夠到達多少塊黑色的瓷磚。輸入格式第一行是兩個整數 w和 h,分別表示 x 方向和 y 方向瓷磚的數量。w 和 h 都不超過 ...
計蒜客T1195 和數
蒜頭君給定乙個正整數序列,判斷其中有多少個數,等於數列中其他兩個數的和。比如,對於數列1 2 3 4,這個問題的答案就是 2,因為 3 2 1,4 1 3。輸入格式 共兩行,第一行是數列中數的個數 n 1 n 100 第二行是由 n 個不大於 10000 的正整數組成的數列,相鄰兩個整數之間用單個空...