#dwango2015prelims4. [dwango2015_prelims_4]タクシー
[dwango2015_prelims_4]タクシー
问题描述
在某颗星球上,正在进行一场名为“来自DWANGO的挑战状”的编程竞赛预选赛,预选赛的通过者将被邀请前往决赛场地。
这颗星球上有一条长度为的环形线路,上面有个城市。每个城市都有一个从1到N的编号,以号城市为基准,按顺时针的方式编号。
决赛可以在一个或多个城市进行,并决定每个比赛场地进行现场直播。
每个城市和每个比赛场地都确定了参与决赛的居民数量和进入比赛场地的选手人数。
进入比赛场地的总选手人数与参与决赛的总选手人数完全相等。
有些城市的居住选手人数与进入比赛场地的选手人数可能不相等,这种情况下需要通过出租车将决赛选手从一个城市移动到另一个城市。
出租车可以沿着环形线路移动,每个决赛选手的移动距离将产生相应的移动成本。
请编写一个程序,找出所有可能的移动成本的最小值。
输入
输入数据以以下格式从标准输入中给出。
:
- 第一行为城市数量和环形线路长度,以空格分隔。
- 第二行到第行给出与每个城市相关的信息。其中第行包含三个整数,,,以空格分隔。这表示城市位于沿着环形线路,从基准城市1开始逆时针前进的位置,城市有名参赛选手,如果,则城市没有比赛场地,如果,则城市邀请名选手参加决赛。
- ,且对于所有整数,有成立。
- 。
- 。
部分评分
此问题有部分得分。
- 如果满足且的数据集全部正确,则得到分。
- 如果满足的数据集全部正确,则额外获得分。
- 如果满足没有额外约束的数据集全部正确,则额外获得分,总分为分。
输出
输出移动成本的最小值,输出占一行。末尾加上换行符。
输入示例1
输出示例1
考虑以下移动:
- 城市3的1名决赛选手通过出租车逆时针移动到城市1。移动成本为。
- 城市6的1名决赛选手通过出租车逆时针移动到城市4。移动成本为。
- 城市7的2名决赛选手通过出租车顺时针移动到城市1。移动成本为2名选手共。
由于这些移动产生的结果是无论移动后的城市是否存在比赛场地,该城市的参与决赛选手数量与进入比赛场地的选手数量相等,并且所有决赛选手都能进入比赛场地。
移动成本的总值为,这个值为最小值。