天然货仓


【华为校园招聘软件】2022-04-06


【编程题目 | 300分】天然货仓 [ 2022 校园招聘 考试题 ]


编程题 第3/3题


3. 天然货仓


本题可使用本地IDE编码,不能使用本地已有代码。

无跳出限制,编码后请点击 “保存并提交” 按钮进行代码提交。


解答要求

时间限制:C/C++ 1000ms | 其他语言 2000ms

空间限制:C/C++ 256MB | 其他语言 512MB

64bit IO Format:%lld


题目描述

  • 有一个天然形成的大坑,为台阶状结构,每个台阶的长度都为1,每个台阶的值为整数(正整数表示高于地平面,零表示与地平面平齐,负整数表示低于地平面)。
  • 有一批同等规格的货品(长度为N,高度为1),货品只能平放,且货物的上表面不能超过地平面(深度为零), 或者说,高于地平面的坑中也不可存放货物。
  • 计算一个给定的大坑中最多可以放多少个货品?
  • 如下图所示,[0,-1,-2,0] 组成的大坑,货品长度为2,可以放入1个货品阴影矩形,返回1。

输入描述

输入依次为N,M,一维数组。

N为该批次货物的长度(1 < N <= 100000),M为一维数组的长度(1 <= M <= 100000),

一维数组为大坑从左到右每个台阶的值(-10000 < 值 < 10000)。

输出描述

可以放入的货品总数,不能放入或异常返回 0。


样例 1

输入

2

4

0,-1,-2,0

输出

1

解释:

见样例 1 图示,坑中只能放入一个长度为 2 的货品,返回 1 。



代码实现


C++


剩余50%内容,订阅会员后查看


隐藏内容

此处内容需要权限查看

  • 普通用户特权:11金币
  • 会员用户特权:免费
  • 永久会员用户特权:免费推荐
会员免费查看

JAVA


import java.util.Scanner;
import java.util.Stack;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int len = scanner.nextInt();
        int all = scanner.nextInt();

剩余50%内容,订阅会员后查看


隐藏内容

此处内容需要权限查看

  • 普通用户特权:11金币
  • 会员用户特权:免费
  • 永久会员用户特权:免费推荐
会员免费查看