104. 华为OD-贪心歌手(200分)

难度 5
  • 标签:
  • 华为OD真题200分题型
题目描述
题解
题库

华为OD-贪心歌手(200分)

题目内容

一个歌手准备从 AA 城去 BB 城参加演出,需满足以下条件:

  1. 按照合同,他必须在 TT 天内赶到;
  2. 歌手途经 NN 座城市;
  3. 歌手不能往回走;
  4. 每两座城市之间需要的天数可以提前获知;
  5. 歌手在每座城市都可以在路边卖唱赚钱:
    • 如果在一座城市第一天卖唱可以赚 MM,后续每天的收入会减少 DD(第二天赚 MDM-D,第三天赚 M2DM-2D,...);
    • 如果收入减少到 00 就不会再少了;
  6. 歌手到达后的第二天才能开始卖唱;如果今天卖过唱,第二天才能出发。

问:贪心的歌手最多可以赚多少钱?

输入描述

第一行两个数字 TTNN,中间用空格隔开:

  • TT 代表总天数,0<T<10000 < T < 1000
  • NN 代表路上经过 NN 座城市,0<N<1000 < N < 100

第二行 N+1N+1 个数字,中间用空格隔开,代表每两座城市之间耗费的时间:

  • 其总和 T\leq T

接下来 NN 行,每行两个数字 MMDD,中间用空格隔开,代表每个城市的卖唱收入预期:

  • 0<M<10000 < M < 1000
  • 0<D<1000 < D < 100

输出描述

一个数字,代表歌手最多可以赚多少钱,以回车结束。

样例1

输入

10 2
1 1 2
120 20
90 10

输出

540

说明

总共 1010 天,路上经过 22 座城市。
路上共花费 1+1+2=41 + 1 + 2 = 4 天,剩余 66 天。
最佳计划是在第一座城市待 33 天,在第二座城市待 33 天:

  • 在第一座城市赚的钱:120+100+80=300120 + 100 + 80 = 300
  • 在第二座城市赚的钱:90+80+70=24090 + 80 + 70 = 240
  • 一共 300+240=540300 + 240 = 540