AT_abc421_g.[ABC421G] Increase to make it Increasing

省选/NOI-

通过率:0%

AC君温馨提醒

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

题目描述

给定长度为 NN 的整数序列 A=(A1,A2,…,AN)A=(A_1,A_2,\ldots,A_N),同时给出 MM 个整数对 (L1,R1),(L2,R2),…,(LM,RM)(L_1, R_1), (L_2, R_2), \dots, (L_M, R_M),其中满足 1≤Li≤Ri≤N1 \leq L_i \leq R_i \leq N。

你可以对序列 AA 进行如下操作任意次(可能为 00 次):

  • 选择一个整数 ii,其中 1≤i≤M1 \leq i \leq M,然后将每个 ALi,ALi+1,…,ARiA_{L_i}, A_{L_i+1},\dots, A_{R_i} 的值加 11。

请判断是否可以通过若干次操作使得 AA 非递减。如果可以,请输出所需操作次数的最小值;如果不可能,则输出 −1-1。

输入格式

输入按以下格式给出:

NN MM
A1A_1 A2A_2 …\dots ANA_N
L1L_1 R1R_1
L2L_2 R2R_2
⋮\vdots
LML_M RMR_M

输出格式

如果可以将 AA 变为非递减序列,输出所需最小操作次数,否则输出 −1-1。

输入输出样例

  • 输入#1

    4 3
    4 2 3 2
    2 2
    2 3
    4 4

    输出#1

    4
  • 输入#2

    3 2
    3 1 2
    2 2
    1 2

    输出#2

    -1
  • 输入#3

    4 4
    1 1 2 3
    1 1
    2 2
    3 3
    4 4

    输出#3

    0
  • 输入#4

    8 12
    35 29 36 88 58 15 25 99
    5 5
    1 6
    3 8
    8 8
    4 8
    7 7
    5 7
    3 3
    2 6
    1 6
    6 7
    5 7

    输出#4

    79

说明/提示

样例解释 1

例如,按以下顺序执行四次操作,可以使 AA 变为非递减:

  • 选择 i=1i=1,执行一次操作。AA 变为 (4,3,3,2)(4,3,3,2)。
  • 选择 i=3i=3,执行一次操作。AA 变为 (4,3,3,3)(4,3,3,3)。
  • 选择 i=3i=3,执行一次操作。AA 变为 (4,3,3,4)(4,3,3,4)。
  • 选择 i=2i=2,执行一次操作。AA 变为 (4,4,4,4)(4,4,4,4)。

相反,无法用三次及以下操作使 AA 非递减。因此输出 44。

样例解释 2

无论如何操作,也无法使 AA 成为非递减序列。

样例解释 3

AA 已经是非递减序列,不需要进行任何操作。

数据范围

  • 1≤N≤3001 \leq N \leq 300
  • 1≤M≤3001 \leq M \leq 300
  • 1≤Ai≤3001 \leq A_i \leq 300
  • 1≤Li≤Ri≤N1 \leq L_i \leq R_i \leq N
  • 所有输入数据均为整数。

由 ChatGPT 5 翻译

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

首页