走格子

有編號1-n的n個格子,機器人從1號格子順序向後走,一直走到n號格子,並須要從n號格子走出去。機器人有一個初始能量,每一個格子對應一個整數Aii,表示這個格子的能量值。若是Aii > 0,機器人走到這個格子可以獲取Aii個能量,若是Aii < 0,走到這個格子須要消耗相應的能量,若是機器人的能量 < 0,就沒法繼續前進了。問機器人最少須要有多少初始能量,才能完成整個旅程。java

例如:n = 5。{1,-2,-1,3,4} 最少須要2個初始能量,才能從1號走到5號格子。途中的能量變化以下3 1 0 3 7。spa

Input第1行:1個數n,表示格子的數量。(1 <= n <= 50000) 第2 - n + 1行:每行1個數Aii,表示格子裏的能量值(-1000000000 <= Aii <= 1000000000)Output輸出1個數,對應從1走到n最少須要多少初始能量。Sample Inputcode

5
1
-2
-1
3
4

Sample Outputxml

2

代碼:
  import java.util.Scanner;

  public class Main {
       public static void main(String[] args) {
               Scanner scan=new Scanner(System.in);
               int n=scan.nextInt();
               int a[]=new int[n];
               for(int i=0;i<n;i++) a[i]=scan.nextInt();
               long sum=0,cnt=0;
               for(int i=0;i<n;i++){
                     sum+=a[i];
                     if(sum<0){
                           cnt+=Math.abs(sum);
                           sum=0;//記錄過須要的能量值之後將sum置爲0
                     }
               }
               System.out.println(cnt);
       }
}
相關文章
相關標籤/搜索