每年奶牛們都要舉辦各種特殊版本的跳房子比賽,包括在河裡從乙個岩石跳到另乙個岩石。這項激動人心的活動在一條長長的筆直河道中進行,在起點和離起點l遠 (1 ≤ l≤ 1,000,000,000) 的終點處均有乙個岩石。在起點和終點之間,有n (0 ≤ n ≤ 50,000) 個岩石,每個岩石與起點的距離分別為di (0 < di < l)。
在比賽過程中,奶牛輪流從起點出發,嘗試到達終點,每一步只能從乙個岩石跳到另乙個岩石。當然,實力不濟的奶牛是沒有辦法完成目標的。
農夫約翰為他的奶牛們感到自豪並且年年都**了這項比賽。但隨著時間的推移,看著其他農夫的膽小奶牛們在相距很近的岩石之間緩慢前行,他感到非常厭煩。他計畫移走一些岩石,使得從起點到終點的過程中,最短的跳躍距離最長。他可以移走除起點和終點外的至多m (0 ≤ m ≤ n) 個岩石。
請幫助約翰確定移走這些岩石後,最長可能的最短跳躍距離是多少?
第一行包含三個整數l, n, m,相鄰兩個整數之間用單個空格隔開。
接下來n行,每行乙個整數,表示每個岩石與起點的距離。岩石按與起點距離從近到遠給出,且不會有兩個岩石出現在同乙個位置。
乙個整數,最長可能的最短跳躍距離。
25 5 22111417
21
4
在移除位於2和14的兩個岩石之後,最短跳躍距離為4(從17到21或從21到25)。
#include #include #include #include #include #include #include #include #include #include #define sf(a) scanf("%d\n",&a)
#define e 1e-8
#define pi acos(-1.0)
#define ms(a) memset(a,0,sizeof a)
#define rep(a,b,c) for(int a=b;a<=c;a++)
#define pf(a) printf("%.3lf\n",a)
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
const int inf=0x3f3f3f3f;
const int idata=1e6+5;
int i,j,k;
//int judge,flag;
ll step[idata];
//ll dp[idata][10];
ll temp;
ll n,m,t;
ll maxx=0,minn=inf;
ll cnt,len,sum,ans;
ll high,wigh;
//mappre[2];
sets;
//priority_queue,less>q;
queueq;
bool check(int aim)
int l=0,r=m;
while(r-l>1)
cout<}
return 0;
}
河中跳房子
時間限制 1 sec 記憶體限制 128 mb 25 5 2211 1417 214 總時間限制 1000ms 記憶體限制 65536kb 描述每年奶牛們都要舉辦各種特殊版本的跳房子比賽,包括在河裡從乙個岩石跳到另乙個岩石。這項激動人心的活動在一條長長的筆直河道中進行,在起點和離起點l遠 1 l 1...
河中跳房子
時間限制 1000 ms 記憶體限制 65536 kb 提交數 485 通過數 227 每年奶牛們都要舉辦各種特殊版本的跳房子比賽,包括在河裡從乙個岩石跳到另乙個岩石。這項激動人心的活動在一條長長的筆直河道中進行,在起點和離起點l遠 1 l 1,000,000,000 的終點處均有乙個岩石。在起點和...
第七章 分治演算法 1247 河中跳房子
1247 河中跳房子 時間限制 1000 ms 記憶體限制 65536 kb 提交數 3563 通過數 1622 題目描述 每年奶牛們都要舉辦各種特殊版本的跳房子比賽,包括在河裡從乙個岩石跳到另乙個岩石。這項激動人心的活動在一條長長的筆直河道中進行,在起點和離起點l遠 1 l 1,000,000,0...