#H. [NOIP2011 提高组] 聪明的质监员

    Type: RemoteJudge 1000ms 125MiB

[NOIP2011 提高组] 聪明的质监员

You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.

题目描述

小T 是一名质量监督员,最近负责检验一批矿产的质量。这批矿产共有 nn 个矿石,从 11nn 逐一编号,每个矿石都有自己的重量 wiw_i 以及价值 viv_i 。检验矿产的流程是:

  1. 给定m m 个区间 [li,ri][l_i,r_i]
  2. 选出一个参数 WW
  3. 对于一个区间 [li,ri][l_i,r_i],计算矿石在这个区间上的检验值 yiy_i
$$y_i=\sum\limits_{j=l_i}^{r_i}[w_j \ge W] \times \sum\limits_{j=l_i}^{r_i}[w_j \ge W]v_j $$

其中 jj 为矿石编号。

这批矿产的检验结果 yy 为各个区间的检验值之和。即:i=1myi\sum\limits_{i=1}^m y_i

若这批矿产的检验结果与所给标准值 ss 相差太多,就需要再去检验另一批矿产。小T 不想费时间去检验另一批矿产,所以他想通过调整参数 WW 的值,让检验结果尽可能的靠近标准值 ss,即使得 sy|s-y| 最小。请你帮忙求出这个最小值。

输入格式

第一行包含三个整数 n,m,sn,m,s,分别表示矿石的个数、区间的个数和标准值。

接下来的 nn 行,每行两个整数,中间用空格隔开,第 i+1i+1 行表示 ii 号矿石的重量 wiw_i 和价值 viv_i

接下来的 mm 行,表示区间,每行两个整数,中间用空格隔开,第 i+n+1i+n+1 行表示区间 [li,ri][l_i,r_i] 的两个端点 lil_irir_i。注意:不同区间可能重合或相互重叠。

输出格式

一个整数,表示所求的最小值。

5 3 15 
1 5 
2 5 
3 5 
4 5 
5 5 
1 5 
2 4 
3 3 
10

提示

【输入输出样例说明】

WW44 的时候,三个区间上检验值分别为 20,5,020,5 ,0 ,这批矿产的检验结果为 2525,此时与标准值 SS 相差最小为 1010

【数据范围】

对于 10%10\% 的数据,有 1n,m101 ≤n ,m≤10

对于 30%30\% 的数据,有 1n,m5001 ≤n ,m≤500

对于 50%50\% 的数据,有 1n,m5,000 1 ≤n ,m≤5,000

对于 70%70\% 的数据,有 1n,m10,0001 ≤n ,m≤10,000

对于 100%100\% 的数据,有 1n,m200,000 1 ≤n ,m≤200,0000<wi,vi1060 < w_i,v_i≤10^60<s10120 < s≤10^{12}1lirin1 ≤l_i ≤r_i ≤n

C23 CSP-J真题训练3二分(7月16日前完成)

Not Claimed
Status
Done
Problem
9
Open Since
2024-7-5 0:00
Deadline
2024-10-27 23:59
Extension
24 hour(s)