#621. 砍树
砍树
题目描述
小明是一位木匠,他在自己拥有的
最开始小明埋了n颗树的种子,此时n棵树的高度都为0,由于小明每天都会给所有的树苗施肥,所以树生长的速度飞快,但因为树种子质量不同,施肥后每棵树每天以固定a[i]的速度生长。
接下来的日子里,小明有m天需要木材,对于第D[i]天小明会把所有高度高于B[i]的树收割到B[i]的高度,小明想知道每次他砍木头的总收割量。
输入格式
第一行给定一个t,代表t组测试数据。(1<=t<=10)
对于每组数据,给定n,m代表有n棵树,m次收割操作。
(1<=n,m<=1e5,∑n,∑m<=5e5)
接下来一行,给定每棵树每天可以增长的高度a[i]。(1<=a[i]<=1e5)
下面m行,每行给定D[i],B[i],代表第D[i]天收割高于B[i]的树,D[i]保证单调递增。(1<=D[i]<=1e9,1<=B[i]<=1e9)
(数据保证没有任何时刻树的高度的总和超出long long范围)
输出格式
对于每组测试数据输出m行,每行代表收割得到木材长度的总和。
输入输出样例
输入 #1
1 4 4 1 3 4 2 1 1 2 0 3 3 4 1000
输出 #1
6 14 1 0
相关
在下列比赛中: