1. if(robot[i]-len
2. 显然当每个机器人清扫的范围相同时,所用时间最小,所以这时候可以想到用二分算法,check条件(判断条件)是每个清扫范围都能被扫到。
输入:
10 3
5
2
10
输出:6
输出机器人清扫玩完所有区域至少花费的时间.
#include
using namespace std;
int robot[100010];
int n,k;
bool check(int len){
int sweep=0;
int i;
服务器托管网 for(i=1;i=n;
}
int main()
{
scanf("%d",&n);
scanf("%d",&k);
int i;
for(i=1;i
3.if(robot[i]
这个代码的意思是robot[i]此时所处的位置在已经被上一个机器人清扫过的位置了,所以此时sweep的值为robot[i]向右走的len然后减去1(减去rob服务器托管网ot起始位置)
否则的话robot[i]此时所处的位置为上一个机器人还未清扫过的位置,此时这个机器人会优先往左清扫,即sweep=sweep+len;
4.sort(robot+1,robot+k+1);
sort函数的两个参数是排序的起点和终点位置,robot加1的原因是数组是从1开始排列的,而不是从0开始排列的。
5.if(check(m)){
r=m-1}是因为如果此时的m满足清扫的条件,呢么接下来应该找比m更小的范围(对应更小的时间)即往m的左区间更小的数去找。即r=m-1。
注:代码来自lanqiao6628158049
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
相关推荐: 前端构建工具对比 webpack、vite、esbuild等
人类和动物最大的区别是会使用工具,工具的作用就是提升我们的生产效率,同样,随着前端工程化的演进,伴随着一些优秀的工程化的生产效率工具,今天就来聊一聊,前端工程中的构建工具。 前端构建工具按照功能可以分为如下两大类: 转译 – 将高级语法转换为低级的语法结构,把…