#L4990. 「POI 2023/2024 R2」Liczniki

「POI 2023/2024 R2」Liczniki

题目描述

题目译自XXII Olimpiada Informatyczna — II etap Trzy Wieże

Bajtazar 租住在一套公寓里,每月需记录公寓内 nn 个水表的读数。房东记录的第 ii 个水表初始读数为 sis_i 拜托立方米。不同水表的水价各异,第 ii 个水表计量的每拜托立方米水费用为 cic_i 拜托拉。

Bajtazar 已在此居住 mm 个月,每月记录了 nn 个读数,希望提交给房东作为当月水表数据。但他需先整理记录:每月将 nn 个读数分配到水表,分配顺序在不同月份可不同,但同一水表在后一月份的读数不得小于前一月份或初始读数。

房东将根据最后月份的分配读数计算 Bajtazar 的总水费,即各水表费用之和,其中第 ii 个水表费用为 cic_i 乘以最后月份读数与 sis_i 的差值。你的任务是计算 Bajtazar 能获得的最小总水费,或判断是否无法按上述条件分配读数。

输入格式

第一行包含两个正整数 nn, mm (nm300000)(n \cdot m \leq 300000),分别表示水表数量和月份数。

第二行包含 nn 个整数 cic_i (1ci1000000)(1 \leq c_i \leq 1000000),表示第 ii 个水表每拜托立方米的费用(单位:拜托拉)。

第三行包含 nn 个整数 sis_i (0si1000000)(0 \leq s_i \leq 1000000),表示第 ii 个水表的初始读数(单位:拜托立方米)。

接下来的 mm 行,每行包含 nn 个整数 ai,ja_{i,j} (0ai,j1000000)(0 \leq a_{i,j} \leq 1000000),表示第 ii 个月的第 jj 个记录值。

输出格式

若无法按条件分配读数,输出 NIE

否则,输出一个整数,表示 Bajtazar 能获得的最小总水费(单位:拜托拉)。

样例

输入:

4 2
3 1 4 3
3 2 4 7
5 10 3 7
4 6 10 9

输出:

25

初始水表读数为 33, 22, 44, 77

第一个月读数 [5,10,3,7][5, 10, 3, 7] 可分配为水表顺序 33, 1010, 55, 77。 第二个月读数 [4,6,10,9][4, 6, 10, 9] 可分配为水表顺序 44, 1010, 66, 99。 总水费为 $3 \cdot (4-3) + 1 \cdot (10-2) + 4 \cdot (6-4) + 3 \cdot (9-7) = 25$。

可验证这是最小水费。

附加样例

  • n=m=1n=m=1ci=1000000c_i = 1000000, si=0s_i = 0 对于 1in1 \leq i \leq na1,1=1000000a_{1,1} = 1000000,答案为 10000000000001000000000000
  • n=6n=6, m=10m=10ci=i+1c_i = i+1, si=0s_i = 0 对于 1in1 \leq i \leq nai,j=ja_{i,j} = j 对于 1im1 \leq i \leq m, 1jn1 \leq j \leq n,答案为 7777
  • n=150000n=150000, m=2m=2ci=1c_i = 1, si=2is_i = 2 \cdot i 对于 1in1 \leq i \leq nai,j=ija_{i,j} = i \cdot j 对于 1im1 \leq i \leq m, 1jn1 \leq j \leq n,答案为 NIE
  • n=150000n=150000, m=2m=2ci=ic_i = i, si=0s_i = 0ai,j=30i+(jmod17)+1a_{i,j} = 30 \cdot i + (j \bmod 17) + 1 对于 1im1 \leq i \leq m, 1jn1 \leq j \leq n,答案为 744488775021744488775021

数据范围与提示

详细子任务附加限制及分值如下表所示。

子任务编号 附加限制 分值
1 si=0s_i = 0 8
2 m10m \leq 10, n6n \leq 6 12
3 m=1m = 1, n300n \leq 300 20
4 m=1m = 1, n5000n \leq 5000 10
5 nm5000n \cdot m \leq 5000 15
6 无附加限制 35