CF1776B.Vittorio Plays with LEGO Bricks

普及/提高-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

Vittorio is playing with his new LEGO Duplo bricks. All the bricks have the shape of a square cuboid with a 2×22 \times 2 square base and a height of 11 . They can be arranged in the 3D space to build structures, provided that the following rules are met:

  1. No two bricks can intersect, but they can touch on their faces.
  2. The corners of every brick must have integer coordinates (so bricks are axis-aligned) and the zz coordinates of all corners must be non-negative.
  3. The square bases of every brick must be parallel to the ground (i.e. the plane z=0z=0 ).
  4. The lower base of any brick that is not touching the ground must touch the upper base of some other brick in a region of positive area (when this happens, the two bricks stay attached to each other thanks to small studs).

For example, this is a valid structure:

Vittorio wants to build a structure that includes purple bricks in the following nn positions: (x1,0,h)(x_1, 0, h) , (x2,0,h)(x_2, 0, h) , \dots , (xn,0,h)(x_n, 0, h) — these are the coordinates of the centers of their lower bases; note that all of these bricks have yy coordinate equal to 00 and zz coordinate equal to hh . Vittorio will use additional bricks of other colors to support the purple bricks. He is willing to place bricks only in positions where the center of the lower base has yy coordinate equal to 00 . What is the minimum number of additional bricks needed?

It can be shown that a valid construction always exists.

输入格式

The first line contains two integers nn and hh ( 1n3001 \le n \le 300 , 0h1090 \le h \le 10^9 ) — the number of purple bricks and their common zz coordinate.

The second line contains nn integers x1,x2,,xnx_1, \, x_2, \, \dots, \, x_n ( 1xi1091 \le x_i \le 10^9 , xi+1<xi+1x_i + 1 < x_{i+1} ) — the xx coordinates of the purple bricks (centers of the bases), given in increasing order.

输出格式

Print the minimum number of additional bricks needed.

输入输出样例

  • 输入#1

    4 0
    2 7 11 13

    输出#1

    0
  • 输入#2

    4 1
    2 7 11 13

    输出#2

    3
  • 输入#3

    4 100
    2 7 11 13

    输出#3

    107
  • 输入#4

    4 3
    2 5 8 11

    输出#4

    8

说明/提示

In the first sample, all the purple bricks lie on the ground, so no additional bricks are needed.

In the second sample, Vittorio will have to place supporting bricks under the purple bricks, and he can use a single brick to support both the third and the fourth purple bricks. For example, he can place additional bricks at positions (3,0,0)(3, 0, 0) , (7,0,0)(7, 0, 0) and (12,0,0)(12, 0, 0) . It can be shown that it is impossible to build a valid construction using less than 33 additional bricks.

In the fourth sample, a possible structure that minimizes the number of additional bricks is shown in the problem description.

首页