大学里的树木要打药
题目描述:
教室外有 N 棵树,根据不同的位置和树种,学校要对其上不同的药。
因为树的排列成线性,且非常长,我们可以将它们看作一条直线给他们编号。
树的编号从 0-N-1 且 N<1e6。
对于树的药是成区间分布,比如 3 - 5 号的树靠近下水道,所以他们要用驱蚊虫的药, 20 - 26 号的树,他们排水不好,容易涝所以要给他们用点促进根系的药。
诸如此类,每种不同的药要花不同的钱。
现在已知共有 M 个这样的区间,并且给你每个区间花的钱,请问最后,这些树木花了多少药费。
输入描述:
每组输入的第一行有两个整数 N(1 <= N<= 1000000)和 M(1 <= M <= 100000)。
N 代表马路的共计多少棵树,M代表区间的数目,N 和 M 之间用一个空格隔开。
接下来的 M 行每行包含三个不同的整数,用一个空格隔开,表示一个区域的起始点 L 和终止点 R 的坐标,以及花费。
输入样例:
500 3
150 300 4
100 200 20
470 471 19
输出描述:
输出包括一行,这一行只包含一个整数,所有的花费。
输出样例:
2662
输入样例
3000 8
150 1130 2
1020 1200 3
470 2071 1
1123 211 6
12 222 2
13 23 2
1 213 4
1232 2523 6
输出样例
2662
b=[0]*10005
if __name__='__main__':
mn=input().split()
m=int(mn[0])
n=int(mn[1])
while(n>0):
n-=1
lrv=input().split()
l=int(lrv[0])
r=int(lrv[1])
value=int(lrv[2])
b[l+1]+=value
b[r+1+1]-=value
for i in range(1,m+1):
b[i]=b[i-1]+b[i]
sum=0
for i in range(1,m+1):
sum+=b[i]
print(sum)