华为机试真题实战应用【赛题代码篇】-天然货仓(附Java和C++代码)

赛题描述

  • 有一个天然形成的大坑,为台阶状结构,每个台阶的长度都为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 图示,

你可能感兴趣的:(c++,算法,开发语言)