#720. 聪明的质监员

聪明的质监员

题目描述

T\red{T} 是一名质量监督员,最近负责检验一批矿产的质量。这批矿产共有 n\red{n} 个矿石,从 1\red{1}n\red{n} 逐一编号,每个矿石都有自己的重量 wiw_i 以及价值 vi\red{v_i} 。检验矿产的流程是:

1、给定 m\red{m} 个区间 [Li,Ri]\red{[L_i,R_i]}

2、选出一个参数 W\red{W}

3、对于一个区间 [Li,Ri]\red{[L_i,R_i]} ,计算矿石在这个区间上的检验值 Yi\red{Y_i}

Yi=j1jvj, j[Li,Ri]且  wjW, j是  矿  石  编  号\red{Y_i=\sum_j1 \cdot \sum_j{v_j},\space j\in[L_i,R_i]}且\space\space\red{ w_j\geq W},\space\red{ j}是\space\space 矿\space\space石\space\space编\space\space号

这批矿产的检验结果 Y 为各个区间的检验值之和。即:Y=i=1mYi\red{Y=\sum_{i=1}^m{Y_i}}

若这批矿产的检验结果与所给标准值 S\red{S} 相差太多,就需要再去检验另一批矿产。

T\red{T} 不想费时间去检验另一批矿产,所以他想通过调整参数 W\red{W} 的值,让检验结果尽可能的靠近 标准值 S\red{S},即使得 SY\red{|S-Y|} 最小。请你帮忙求出这个最小值。

输入格式

输入文件 qc.in\red{qc.in}

第一行包含三个整数 nmS\red{n,m,S} ,分别表示矿石的个数、区间的个数和标准值;

接下来的 n\red{n} 行,每行 2\red{2} 个整数,中间用空格隔开,第 i+1\red{i+1} 行表示 i\red{i} 号矿石的重量 wi\red{w_i} 和价值 vi\red{v_i}

接下来的 m\red{m} 行,表示区间,每行 2\red{2} 个整数,中间用空格隔开,第 i+n+1\red{i+n+1} 行表示区间 [Li,Ri]\red{[L_i,R_i]} 的两个端点 Li\red{L_i}Ri\red{R_i}

注意:不同区间可能重合或相互重叠。

输出格式

输出文件名为 qc.out\red{qc.out}

输出只有一行,包含一个整数,表示所求的最小值。

样例

样例输入
5 3 15
1 5
2 5
3 5
4 5
5 5
1 5
2 4
3 3
样例输出
10

样例说明

W\red{W}4\red{4} 的时候,三个区间上检验值分别为 20\red{20}5\red{5}0\red{0} ,这批矿产的检验结果为 25\red{25} ,此时与标准值 S\red{S} 相差最小为 10\red{10}

数据范围与提示

对于10%\red{10\%} 的数据,有 nm10\red{n,m\leq10}

对于30%\red{30\%} 的数据,有 nm\red{n,m}

对于50%\red{50\%} 的数据,有 nm5,000\red{n,m\leq5,000}

对于70%\red{70\%} 的数据,有 nm10,000\red{n,m\leq10,000}

对于100%\red{100\%} 的数据,有 1nm200,000\red{1\leq n,m\leq 200,000}0<wi,vi106\red{0 < w_i, v_i\leq 10^6}0<S1012\red{0 < S\leq 10^{12}}1LiRin\red{1\leq L_i \leq R_i \leq n}