セグメントのカバー
n
個の線分のリストが与えられます。各線分は の形式で表され、それぞれコスト
を持っています。さらに、カバー対象となる線分
[L, R]
が指定されています。
与えられたリストからいくつかの線分を選び、その合併が [L, R]
をすべて含むようにしなければなりません。ただし、i
番目の線分を選ぶと のコストがかかります。
このとき、[L, R]
をカバーするのに必要な最小コストを求めてください。
入力
最初の行には、n
, L
, R
が与えられます (1 ≤ n ≤ 100000, 1 ≤ L ≤ R ≤ )。これらは、それぞれ線分の個数とカバー対象となる線分を表します。
続く n
行では、3 つの整数 ,
,
が与えられます ()。これは、それぞれ線分の両端点とその線分のコストを意味します。
出力
[L, R]
をカバーするために必要な最小コストを 1 つの整数で出力してください。もし [L, R]
をカバーできない場合は、-1
を出力してください。
例
入力 | 出力 |
---|---|
5 3 10 | 9 |
3 1 5 | -1 |
Constraints
Time limit: 2 seconds
Memory limit: 512 MB
Output limit: 1 MB