#OD353. 机器人仓库搬砖

题目描述

机器人搬砖,一共有 N 堆砖存放在 N 个不同的仓库中,第 i 堆砖中有 bricksi 块砖头,要求在 8 小时内搬完。

机器人每小时能搬砖的数量取决于有多少能量格,机器人一个小时中只能在一个仓库中搬砖,机器人的能量格只在这一个小时有效,为使得机器人损耗最小化,应尽量减小每次补充的能量格数。

为了保障在 8 小时内能完成搬砖任务,请计算每小时给机器人充能的最小能量格数。

  • 无需考虑机器人补充能力格的耗时;
  • 无需考虑机器人搬砖的耗时;
  • 机器人每小时补充能量格只在这一个小时中有效;

输入描述

第一行为一行数字,空格分隔

输出描述

机器人每小时最少需要充的能量格,若无法完成任务,输出 -1

用例1

输入

复制代码
30 12 25 8 19

Copy

输出

复制代码
15

Copy

用例2

输入

复制代码
10 12 25 8 19 8 6 4 17 19 20 30

Copy

输出

复制代码
-1

Copy

说明

砖的堆数为12堆存放在12个仓库中,机器人一个小时内只能在一个仓库搬砖,不可能完成任务。

cpp 复制代码
#include <algorithm>
#include <string>
#include <iostream>
#include <sstream>
#include <vector>
using namespace std;

int main() {
	int a = 0;
	vector<int> vec;
	while (cin >> a)
	{
		vec.push_back(a);
		if (cin.peek() == '\n')
			break;
	}

	if (vec.size() > 8) {
		cout << -1 << endl;
		return 0;
	}
	int max = *max_element(vec.begin(), vec.end());
	if (vec.size() == 8) {
		cout << max << endl;
		return 0;
	}
	//二分法
	int min = 1;
	int midd = (max + min) / 2;
	int result = max;
	while (min < max)
	{
		int count = 0;
		for (int val : vec)
		{
			count += val / midd;
			if (val % midd > 0) {
				count++;
			}
		}
		if (count <= 8){
			max--;
			result = std::min(result, midd);
		}
		else {
			min++;
		}
		midd = (max + min) / 2;
	}

	cout << result << endl;
	return 0;
}

测评通过率100%。

有一个地方可以优化:前后两次循环midd可能会存在相等的情况,可以加上判断,相等的话就继续执行max-- 或min-- .

相关推荐
AI+程序员在路上6 小时前
飞行坐标系 vs 机器人坐标系:对比、转换与场景应用
机器人
鲁邦通物联网6 小时前
数据中心巡检机器人梯控稳定性验收与故障测试方法
机器人·巡检机器人·机器人梯控·agv梯控·非侵入式采集·机器人乘梯·机器人自主乘梯
特立独行的猫a6 小时前
会说确认叫车才下单-启元机器人官方滴滴打车技能源码详解
人工智能·机器人·技能·启元机器人
几何心凉12 小时前
论文解读|智元 GO-1:VLA 进化到 ViLLA,中间多出来的那个“L“到底有什么用?
机器人·1024程序员节·具身智能·启元机器人
SteveSenna13 小时前
aubo学习:realsense手眼标定
学习·机器人·视觉检测
核数聚14 小时前
深度拆解核数聚双平台架构:星云Nebula(数据制造)+星枢Nexus(调度中枢)如何构建AI数据交付闭环
人工智能·机器人·核数聚
桃花键神14 小时前
具身智能 2026:从“会动“到“会干“,机器人正在迎来自己的“ChatGPT 时刻“
人工智能·chatgpt·机器人
hey you~14 小时前
小型教培机构语音机器人,课程咨询进线,如何识别意向客户并转人工?
人工智能·机器人·语音识别·语音机器人·教培机构·意向识别·课程咨询
tianxuanjg14 小时前
采购指南|航空复杂结构件高精度 CNC 加工采购选型指南
人工智能·经验分享·机器人·制造·材质
极客互动API15 小时前
【极客互动】企业微信外部群聊机器人开发实战与效果验证
微信·机器人·企业微信·企微scrm·企业微信api·企微外部联系人