vijos题解吧 关注:6贴子:20
  • 0回复贴,共1

Orz教主第四次模拟赛 - 旅行(赛)

只看楼主收藏回复

背景 Background  
   Orz4-1 travel  
   
   
 描述 Description   
     今天是个神圣的日子,因为LHX教主要进行一段长途旅行。但是教主毕竟是教主,他喜欢走自己的路,让别人目瞪口呆。为什么呢,因为这条路线高低不平,而且是相当的严重。 
  但是教主有自己的办法,他会魔法。 
  这段路可以用一个长度为N的序列A[I]来表示,A[I]表示了第I这段路的高度。毕竟教主即使会使用魔法他还是个人,教主如果想穿越这条路线,他必须从第1段路开始走,走到第N段,从第I段走到第I+1段路需要消耗|A[I+1]-A[I]|点体力。为了节省体力,教主使出了他神奇的魔法。教主的魔法可以将一段路高度变高或者变低,但是使用魔法也需要体力,改变一段路H的高度就需要消耗H的体力。即若教主把第I段路高度从A[I]变成了K,那么他需要消耗|A[I]-K|点体力。 
  接着,LHX教主想规划下如何调整路段高度后穿越,使得总体力消耗最小。 
 
   
   
 输入格式 Input Format  
     输入的第1行为一个正整数N,表示了这条路线的长度。 
  第2行有N个正整数,相邻两个正整数用空格隔开,描述了A[I]这个序列。 
 
   
   
 输出格式 Output Format  
     输出仅包括一个非负整数,为最小的总体力消耗。 
  注意:答案可能超过2^31-1,请使用int64或者long long类型保存答案。 
 
   
   
    
   
   
 样例输入 Sample Input   
   3
3 4 1
 
   
   
 样例输出 Sample Output   
   3
 
   
   
 时间限制 Time Limitation  
   对于10%的数据,有N≤10; 
对于30%的数据,有A[I]≤1000; 
对于40%的数据,有N≤1000; 
对于100%的数据,有N≤100000,A[I]≤10000000。 
时限1s。 
   
   
 注释 Hint  
     将第2段路的高度调整为3,第3段路的高度调整为2,调整体力消耗为2。 
  路线序列变为3 3 2,穿越这条路线消耗体力为1。 
  所以总体力消耗为3。 
 
 



1楼2009-08-16 19:31回复