有編號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); } }