AT_bcu30_2019_b.Interval Addition

通过率:0%

AC君温馨提醒

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

题目描述

ミクシィ公司的青木先生有一个由 NN 个元素组成的数列 AA,初始时数列的所有元素均为 00。

青木先生可以重复进行以下操作 00 次或多次,使得对于所有 1≤i≤N1 \leq i \leq N,数列第 ii 个元素变为 aia_i。

  • 选择满足 1≤k≤N1 \leq k \leq N 和 1≤l≤N+1−k1 \leq l \leq N+1-k 的正整数 k,lk, l。任意选择一个长度为 kk 的非负整数序列 0≤B1≤B2≤⋯≤Bk0 \leq B_1 \leq B_2 \leq \cdots \leq B_k,然后对于 1≤i≤k1 \leq i \leq k,令 Al+i−1:=Al+i−1+BiA_{l+i-1} := A_{l+i-1} + B_i。

每次操作可以选择不同的 k,l,Bk, l, B。请你求出青木先生为了得到目标数列,所需的最少操作次数。

输入格式

输入以如下格式从标准输入读入。

NN a1a_1 a2a_2 ⋯\cdots aNa_N

输出格式

输出青木先生为了得到目标数列所需的最小操作次数。

输入输出样例

  • 输入#1

    2
    3 4

    输出#1

    1
  • 输入#2

    2
    4 3

    输出#2

    2
  • 输入#3

    4
    4 0 4 0

    输出#3

    2

说明/提示

限制条件

  • 1≤N≤2×1051 \leq N \leq 2 \times 10^5
  • 0≤ai≤1090 \leq a_i \leq 10^9
  • 输入均为整数

样例解释 1

如果选择 k=2,l=1,B={3,4}k=2, l=1, B=\{3, 4\},青木先生可以通过 11 次操作得到目标数列。

样例解释 2

第一次操作选择 k=2,l=1,B={3,3}k=2, l=1, B=\{3, 3\},此时 AA 变为 {3,3}\{3, 3\}。第二次操作选择 k=1,l=1,B={1}k=1, l=1, B=\{1\},此时 AA 变为 {4,3}\{4, 3\}。因此青木先生可以通过 22 次操作得到目标数列,且无法通过 11 次或更少的操作得到目标数列,所以输出 22。

由 ChatGPT 4.1 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页