机器人扫地 二分答案

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;
 }
相关推荐
郭龙飞98012 小时前
OpenClaw 飞书机器人搭建指南 远程 AI 操控电脑配置
人工智能·windows·机器人·飞书
数智工坊13 小时前
具身智能人形机器人:从实验室走向现实的下一代通用智能体
人工智能·深度学习·机器人
Freak嵌入式15 小时前
WIZnet-EVB-Pico2开始,用MicroPython玩转以太网开发
arm开发·人工智能·python·嵌入式硬件·机器人·嵌入式·micropython
高德诚15 小时前
软件工程师视角:机器人舵机软件定制化研发的核心思路与实操方法
机器人
沫儿笙16 小时前
弧焊机器人混合气节气设备
人工智能·物联网·机器人
Caster_Z16 小时前
Win10本地部署QQ智能机器人:AstrBot+NapCat+DeepSeekAI
机器人·deepseek·napcat·astrbot·自动客服
TMT星球17 小时前
科技领跑公益,擎天租机器人“天团”助阵2026渣打上海10公里跑
人工智能·科技·机器人
OidEncoder18 小时前
工况适配:光电 / 磁电 / 电感编码器选型攻略
人工智能·机器人·自动化·电机
视***间18 小时前
算力为核,智驱无界——视程空间硬核赋能机器狗与机器人,解锁具身智能产业新未来
大数据·运维·人工智能·机器人·采集卡·机器狗·视程空间
大江东去浪淘尽千古风流人物18 小时前
【SANA-WM】分钟级世界模型:混合线性扩散Transformer与双分支相机控制深度解析
人工智能·深度学习·架构·spark·机器人·transformer·wm