#P15658. [Bulgarian2025训练营]Shopping购物

[Bulgarian2025训练营]Shopping购物

题目描述

几天后你要去一家大商店购物,所以你提前制定购买计划。

商店里有 NN 件商品,第 ii 件商品的类型为 tit_i,价格为 cic_i。对于每一种类型 jj,你都规定了购买数量的限制:类型 jj 的商品至少买 ljl_j 件,至多买 rjr_j 件。

一个购物计划的代价等于所购买商品价格之和。

请找出所有满足限制的购物计划中,代价最小的前 KK 个计划。若两种购物计划中存在某件商品被其中一个计划购买而另一个计划没有购买,则这两种计划视为不同。

输入格式

第一行包含三个正整数 N,M,KN,M,K,分别表示商品数量、商品类型数量和需要输出的计划数量。

接下来 NN 行,每行两个整数 ti,cit_i,c_i,表示第 ii 件商品的类型和价格。

最后 MM 行,每行两个整数 lj,rjl_j,r_j,表示类型 jj 商品购买数量的下界和上界。

输出格式

输出 KK 行。

ii 行输出满足所有限制的购物计划中第 ii 小的代价。

如果合法购物计划总数少于 KK 个,则对于不存在的名次输出 -1

数据范围

  • 1N,M,K2000001 \le N,M,K \le 200000
  • 1tiM1 \le t_i \le M
  • 1ci1091 \le c_i \le 10^9
  • 0ljrjN0 \le l_j \le r_j \le N

子任务

子任务 分值 依赖子任务 N,MN,M ljl_j rjr_j 其他限制
0 - - 样例
1 21 0 4000\le 4000 K4000K \le 4000
2 13 - =1=1 ci4000c_i \le 4000
3 17 0-2 - -
4 20 - 200000\le 200000 =0=0
5 29 0-4 -

只有通过某子任务及其所有依赖子任务的全部测试,才能获得该子任务分数。

样例

输入

5 2 7
1 5
1 3
2 3
1 6
2 1
1 1
1 1

输出

4
6
6
7
8
9
-1

说明

类型 11 有三件商品,价格分别为 5,3,65,3,6;类型 22 有两件商品,价格分别为 3,13,1

最便宜的合法购物计划是购买第 22 件和第 55 件商品,总价为 3+1=43+1=4

由于限制要求两种类型各买一件,因此总共有 3×2=63\times 2=6 个合法计划,所以第 77 个答案为 -1