menu 大连理工大学 DP·AC算法竞赛协会 ICPC集训队 Online Judge
account_circle 请登录
home
首页
book
题目
library_books
题单
apps
分类
play_circle_outline
状态
layers
竞赛/作业
equalizer
排名
assignment_ind
登录
person_add
注册
1063: 储物点的距离
时间限制:1.000s
内存限制:128MB

题目描述

一个数轴,每一个储物点会有一些东西,同时它们之间存在距离。
每次给个区间[l,r],查询把这个区间内所有储物点的东西运到另外一个储物点的代价是多少?
比如储物点i有x个东西,要运到储物点j,代价为x * dist( i , j )
dist就是储物点间的距离。 

输入格式

第一行两个数表示n,m
第二行n-1个数,第i个数表示第i个储物点与第i+1个储物点的距离ai
第三行n个数,表示每个储物点的东西个数bi
之后m行每行三个数x l r
表示查询要把区间[l,r]储物点的物品全部运到储物点x的花费
每次查询独立


对于100%的数据n,m <= 200000 , 0 <= ai,bi <= 2000000000

输出格式

对于每个询问输出一个数表示答案
答案对1000000007取模

样例输入 content_copy

5 5
2 3 4 5
1 2 3 4 5
1 1 5
3 1 5
2 3 3
3 3 3
1 5 5

样例输出 content_copy

125
72
9
0
70

分类