机器人扫地 二分答案

cpp 复制代码
#include<bits/stdc++.h>
using namespace std;
int i,n,a[100009],k,ans=0;
bool check(int mid){
  int pos=0,t;//pos前面清扫过的位置
  for(i=0;i<k;i++)
  {  //已经清扫的位置还没到当前机器人的位置a[i]
  //一个位置机器人是要去回,一个格子消耗两个时间 
         t=mid;//贪心,每个机器人都花费这些时间 
    if(pos<a[i]) t=t-(a[i]-pos-1)*2;//当前机器人前面清扫掉
    if(t<0) return false;//不能返回到出发格 
    int qs=t/2;//剩下的t能清扫的 
    pos=a[i]+qs; 
  }
  if(pos<n) return false;
  return true;  }
int main(){
   cin>>n>>k;
   for(i=0;i<k;i++)
   cin>>a[i];
   sort(a,a+k);//mid就是机器人清扫花费的时间 ,贪心算,这个机器人扫这些的同时
//其他机器能否花小于等于他的时间,然后所有的地也被清洁完 ,check的时候按所有机器都清扫mid算 
   //check时 是从头算,是否清洁完在这个走廊 
   int left=0,right=n*2,mid;
   while(left<=right){
    mid=(right+left)/2;
    if(check(mid)){
      ans=mid;
    right=mid-1;//当前mid可以,然后要去寻找更加符合的,就是更小的 
     }
     else
     left=mid+1;
   }
   cout<<ans;
return 0;
 }
相关推荐
嘉恩督8 分钟前
ACoT-VLA:让机器人用动作思考——CVPR2026
机器人·大模型·vim
十年一梦实验室25 分钟前
【Gemini深度研究】智能飞行机器人研究进展与未来低空经济的战略演进
机器人
码农三叔2 小时前
(2-1)常用传感器与基础原理:视觉传感器
人工智能·机器人·大模型·人形机器人
renhongxia14 小时前
大模型Prompt实战:精准生成专业技术文档
人工智能·微服务·语言模型·自然语言处理·机器人·prompt
自动化智库4 小时前
库卡机器人插拔SmartPAD示教器的方法
人工智能·机器人
码与农5 小时前
硬件控制器是如何实现与ros2_control交互的
人工智能·机器人·自动驾驶
福客AI智能客服6 小时前
电商智能客服机器人:AI客服聊天系统如何重构用户沟通方式
人工智能·重构·机器人
szbenlai6 小时前
理疗机器人从实拍到AI场景拍摄全流程解析
人工智能·机器人
ZPC82108 小时前
fanuc 机器人 pr 寄存器数据如何绑定 GO 绑定DO
人工智能·算法·机器人
Deepoch8 小时前
Deepoc具身模型:应对复杂农艺场景的除草机器人边缘认知系统
机器人·开发板·具身模型·deepoc·除草机器人