これは二分回答2015noipトピックで、説明が,,う読み
石のタイトルは、場所を与えられ、あなたは岩がまたメートルまでのデータを削除、飛び石することはジャンプの最大の最短距離を解決するために、通過することができ、前方にジャンプすることができます。
何それから2分も:ミッド長さをジャンプします。その後、2分間右= L = 0を残した。sの奪還記録し、今石の現在の数を移動している、上にジャンプするかどうかを決定(及び同様のアイデアプレフィックス)ことができます。最後石現在のホップ> = mは、右=半ば1、動きがある場合<= Mの場合、現在のレコードの中間、左=半ば+ 1をさせるように移動させます。そして、最小距離の最大値であるトピックは、最終的に見つけたので最大です。
1.被験者がバイナリEG。最大、最小、好ましくはK、キー単調最小平均道路の量であってもよいかを決定。。
2.何の半分を解決している何
エンドポイントの約半分を変更する方法3。
4.慎重にタイトルを読んで、そのため、少なくとも最も有望なキーワード、明確なロジック
#include <iostreamの> する#include <cmath> の#include <CStringの> する#include < ストリング > の#include <アルゴリズム> の#include <cmath> の#include <cstdioを> の#define MAXN 600000 使用して 名前空間STD。 int型M、N。 int型のL、D; int型は右、中、左; INT [MAXN]。 int型の、今。 int型 ANS = 0 ; INT メイン(){ CIN >> L >> N >> M。 ; I <= N; I ++は){ CIN >> A [I]; } INT =左0、右= L; ながら左(<=右){ // 半分ホップ長 MID =(左+右)/ 2 。 今 = 0 ; // スキップ最初の数 S = 0 ; //は、いくつかの石を移動 するための(INT I = 1 ; I <= N-Iが++ ){ IF([I] -a [今] <MIDを){ // もしオーバージャンプ S ++; // 移動 } 他の{ 今 = I; } } もし、(S <= M){ ANS = ミッド。 左 =ミッド+ 1 ; } そう右=半ば1 。 } COUT << ANS。 リターン 0 ; }