题库/S0055

#S0055. 【11NOIP提高组】观光公交

    传统题 难度: 普及+ 标签>一本通交换论证与贪心反例一维前缀和与区间和
时间限制1000 ms
内存限制128 MiB
通过率—0 / 0 次提交
题目描述 查看题解 开始编程Alt+E

S0055 · 【11NOIP提高组】观光公交

退出在线编程模式
普及+ 读懂题意,让每一次思考成为成长。
时间限制1000 ms
内存限制128 MiB
通过率—0 / 0 次提交

题目描述

风景迷人的小城Y市,拥有nn个美丽的景点。由于慕名而来的游客越来越多,Y市特意安排了一辆观光公交车,为游客提供更便捷的交通服务。观光公交车在第0分钟出现在11号景点,随后依次前往2、3、4……n2、3、4……n 号景点。从第ii 号景点开到第i+1i+1 号景点需要DiD_i 分钟。任意时刻,公交车只能往前开,或在景点处等待。 设共有mm个游客,每位游客需要乘车11次从一个景点到达另一个景点,第i位游客在TiT_i分钟来到景点AiA_i,希望乘车前往景点B_i(A_i<B_i)。为了使所有乘客都能顺利到达目的地,公交车在每站都必须等待需要从该景点出发的所有乘客都上车后才能出发开往下一景点。假设乘客上下车不需要时间。 一个乘客的旅行时间,等于他到达目的地的时刻减去他来到出发地的时刻。因为只有一辆观光车,有时候还要停下来等其他乘客,乘客们纷纷抱怨旅行时间太长了。于是聪明的司机ZZ 给公交车安装了kk 个氮气加速器,每使用一个加速器,可以使其中一个DiD_i 减11。对于同一个DiD_i 可以重复使用加速器,但是必须保证使用后DiD_i 大于等于00。 那么 ZZ 该如何安排使用加速器,才能使所有乘客的旅行时间总和最小?

输入

第 11 行是33 个整数n,m,kn, m, k,每两个整数之间用一个空格隔开。分别表示景点数、乘客数和氮气加速器个数。 第 22 行是n−1n-1 个整数,每两个整数之间用一个空格隔开,第ii 个数表示从第ii 个景点开往第i+1i+1 个景点所需要的时间,即DiD_i。 第 33 行至m+2m+2 行每行33 个整数Ti,Ai,BiT_i, A_i, B_i,每两个整数之间用一个空格隔开。第i+2i+2 行表示第ii 位乘客来到出发景点的时,出发的景点编号和到达的景点编号。

输出

共一行,包含一个整数,表示最小的总旅行时间。

输入样例

3 3 2
1 4
0 1 3
1 1 2
5 2 3

输出样例

10

提示

【输入输出样例说明】 对 D2D_2 使用22 个加速器,从22 号景点到33 号景点时间变为22 分钟。 公交车在第 11 分钟从11 号景点出发,第22 分钟到达22 号景点,第55 分钟从22 号景点出发,第77 分钟到达33 号景点。 第 11 个旅客旅行时间 7−0=77-0 = 7 分钟。 第 22 个旅客旅行时间 2−1=12-1 = 1 分钟。 第 33 个旅客旅行时间 7−5=27-5 = 2 分钟。 总时间 7+1+2=107+1+2 = 10 分钟。 【数据范围】 对于 10%的数据,k=0k=0; 对于 20%的数据,k=1k=1; 对于 40%的数据,$2 ≤ n ≤ 50,1 ≤ m≤ 1,000,0 ≤ k ≤ 20,0 ≤ D_i ≤ 10,0 ≤ T_i ≤ 500$; 对于 60%的数据,$1 ≤ n ≤ 100,1 ≤ m≤ 1,000,0 ≤ k ≤ 100,0 ≤ D_i ≤ 100,0 ≤ T_i ≤ 10,000$; 对于 100%的数据,$1 ≤ n ≤ 1,000,1 ≤ m ≤ 10,000,0 ≤ k ≤ 100,000,0 ≤ D_i ≤ 100,0 ≤ T_i ≤ 100,000$。

评测数据说明

本题使用按题意独立构造、以独立程序核对的训练数据及公开样例,共5个测试点,非原站或官方原始数据。总分100分。