#agc011f. [agc011_f]Train Service Planning

[agc011_f]Train Service Planning

题目描述

在高桥王国中有一条铁路,这条铁路分为nn个区间1n1⋯nn+1n+1个站台0n0⋯n,区间ii连接站台i1i-1ii

一列火车经过区间ii会消耗AiA_i的时间,每个区间的铁路是双向的或单向的,如果Bi=1B_i=1那么区间ii是单向的,否则它是双向的

现在すぬけ(snuke)君想要设计一个火车时间表,满足以下约定

所有的火车要么从站台00到站台nn,要么从站台nn到站台00

对任意终点为nn的火车,如果它在tt时刻离开站台i1i−1并开往站台ii,那么它必须在t+Ait+A_i时刻到达ii站台,对反方向要求相同

对任意终点为nn的火车,如果它在ss时刻到达站台ii并在tt时刻离开站台ii,那么一列经过站台ii的终点为nn的火车必须在s+Ks+K时刻到达站台ii并在t+Kt+K时刻离开站台ii,对反方向要求相同

在任意时刻不能有两列相向而行的火车在单向区间内互相穿过

现在你要找出一个时间表,使得一列火车从00nn和从nn00的时间之和最短,观察样例11可以帮助你更好地理解题目

输入格式

N N K K

A1 A_1 B1 B_1

A2 A_2 B2 B_2

:

AN A_N BN B_N

输出格式

一行一个整数,表示列车上下行最短的开车时间之和,如果不存在合法方案则输出-1

数据规模

1N1000001\leq N \leq 100000

1K1091\leq K \leq 10^9

1Ai1091\leq A_i \leq 10^9

BiB_i要么是1要么是2

所有输入的数都是整数