#L2077. 「JSOI2016」飞机调度

「JSOI2016」飞机调度

题目描述

JSOI 王国里有 NN 个机场,编号为 11NN。从 ii 号机场到 jj 号机场需要飞行 Ti,jT_{i, j} 的时间。由于风向、地理位置和航空管制等因素,Ti,jT_{i, j}Tj,iT_{j, i} 不一定相同。

此外,当一架飞机降落在 kk 号机场时,需要花费 PkP_k 的维护时间才能再次起飞。

JS Airways 运营 MM 条直飞航线,其中第 ii 条航线需要在 DiD_i 时刻从 XiX_i 机场起飞,不经停,飞往 YiY_i 机场。

假设 JS Airways 可以在 00 时刻在任意机场布置任意多架维护完毕的飞机,并且可以增开任意多条临时航线以满足飞机调度需求。

JYY 想知道,理论上 JS Airways 最少需要多少架飞机才能完成所有 MM 个航班。


输入格式

  • 第一行包含两个正整数 N,MN, M
  • 第二行包含 NN 个正整数,表示每个机场的飞机维护时间 P1,P2,,PNP_1, P_2, \dots, P_N
  • 接下来 NN 行,每行 NN 个非负整数,其中第 ii 行第 jj 个数为 Ti,jT_{i,j},表示从 ii 号机场飞往 jj 号机场所需时间。数据保证 Ti,i=0T_{i,i} = 0
  • 接下来 MM 行,每行三个正整数 Xi,Yi,DiX_i, Y_i, D_i,表示第 ii 条航线的起飞机场、降落机场和起飞时间。数据保证 XiYiX_i \ne Y_i

输出格式

一行一个正整数,表示最少需要的飞机数。


样例 1

输入

3 3
100 1 1
0 1 1
1 0 5
2 1 0
1 2 1
2 1 1
3 1 9

输出

2

解释
可以在 00 时刻在 22 号机场安排一架飞机执飞第 22 条航线(212 \to 1)。
11 号机场安排另一架飞机执飞第 11 条航线(121 \to 2),然后通过临时航线从 22 号机场飞往 33 号机场,再执飞第 33 条航线(313 \to 1)。


样例 2

输入

3 3
100 1 1
0 1 1
1 0 5
2 1 0
1 2 1
2 1 1
3 1 8

输出

3

解释
执行完第 11 条航线的飞机无法赶上第 33 条航线的起飞时间,因此需要 33 架不同的飞机。


数据范围与提示

  • 对于 30%30\% 的数据,N,M10N, M \le 10
  • 对于 60%60\% 的数据,N,M100N, M \le 100
  • 对于全部数据,1N,M5001 \le N, M \le 5000Pi,Ti,j1060 \le P_i, T_{i,j} \le 10^61Di1061 \le D_i \le 10^6