社区讨论
20分,有大佬吗?测试完成链接在最后
P2678[NOIP 2015 提高组] 跳石头参与者 2已保存回复 1
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 1 条
- 当前快照
- 1 份
- 快照标识符
- @lo2wxiqp
- 此快照首次捕获于
- 2023/10/23 21:07 2 年前
- 此快照最后确认于
- 2023/10/23 21:07 2 年前
CPP
#include<bits/stdc++.h>
using namespace std;
int l1,n,m;
int d[50001];
int bz(int s){
int cnt = 0;
if(d[1] - 1 < s){
cnt++;
}
for(int i = 2; i <= n; i++){
if(i == n){
if(l1 - d[i] < s){
cnt++;
}
break;
}
if(d[i] - d[i - 1] < s){
if(d[i + 1] - d[i] < s){
cnt++;
i++;
continue;
}else{
cnt++;
}
}
}
return cnt;
}
int main(){
cin>>l1>>n>>m;
// cin>>l>>n;
for(int i = 1; i <= n; i++){
cin>>d[i];
}
// cout<<bz(4);
if(n == m){
cout<<l1;
return 0;
}
int l = 1,r = l1;
while(l < r){
int mid = (r + l) / 2;
if(bz(mid) < m){
l = mid + 1;
}else{
r = mid;
}
}
cout<<l;
return 0;
}
回复
共 1 条回复,欢迎继续交流。
正在加载回复...