题目描述
众所周知,在中国有个地方叫“万里长城”。
泽泽一天后山玩,在捉蟋蟀的时候,忽然看见一个奇怪的洞。泽泽好奇,就钻了进去,结果……
泽泽来到中国万里长城上。长城的城墙很高,泽泽翻墙翻不出去。后面的路又被堵住了,于是泽泽只有一个选择:向前走。
泽泽向前一看,看见一块牌子,牌子上写道:
若要离开此地,就爬出长城吧。
泽泽无语。平时泽泽最不擅长的就是长跑,现在天不遂人愿,他遇上了麻烦。但是没有别的去路,于是他硬着头皮爬起来。
泽泽爬一个单位距离需要一个单位时间。但是这座长城年久失修,地上出现了很多的坑和杂草堆。泽泽在这些地方爬行需要更长的时间。
现在泽泽知道这座长城的长度,以及哪些地方有坑和杂草堆,请算出泽泽需要多少时间才能爬出长城。
输入
第1行2个整数s,n。s表示长城的长度,n表示有多少坑和杂草堆。
之后的n行,每行3个整数ai,bi,ti。表示从ai到bi的一段每个单位距离泽泽需要ti的时间。泽泽在没有坑和杂草堆的地方每个单位距离需要时间1。(保证长度没有重合的)
输出
一个整数,即泽泽爬出的时间。
样例输入
20 5
2 4 2
6 7 4
8 10 2
11 11 5
17 20 5
样例输出
52
简单的模拟: 每次输入一段路,就加上比原先走这段的时间(y-x+1)多出来的时间花费。 时间复杂度:O(N)
var i,x,y,z,s,n:longint;begin assign(input,'china.in'); reset(input); assign(output,'china.out'); rewrite(output); readln(s,n); for i:=1 to n do begin readln(x,y,z); s:=s+(y-x+1)*(z-1); end; writeln(s); close(input); close(output);end.新闻热点
疑难解答