andy6804tw
10/9/2016 - 8:46 AM

http://e-tutor.itsa.org.tw/e-Tutor/mod/programming/view.php?id=2078 這題先依序找出最大值放入陣列arr_large,另外再從尾找出最大值 和arr_large比看誰最小減去目前的坑洞高 若結果小於0就不做相加到

http://e-tutor.itsa.org.tw/e-Tutor/mod/programming/view.php?id=2078

這題先依序找出最大值放入陣列arr_large,另外再從尾找出最大值 和arr_large比看誰最小減去目前的坑洞高 若結果小於0就不做相加到ans反之

import java.util.*;    
    
public class Main {    
    
    public static void main(String[] args) {    
        Scanner scn = new Scanner(System.in);    
        int n=scn.nextInt(),arr[]=new int [n],arr_large[]=new int [n],ans=0,max=0;  
        for(int i=0;i<n;i++){  
            arr[i]=scn.nextInt();  
            if(arr[i]>max)  
                max=arr[i];  
            arr_large[i]=max;  
        }  
        max=0;  
        for(int i=n-1;i>=0;i--){  
            if(arr[i]>max)  
                max=arr[i];  
            int num=Math.min(max,arr_large[i])-arr[i];  
            if(num<0)  
                num=0;  
            ans+=num;  
        }  
        System.out.println(ans);  
    }  
    /*題目:[C_CH13-中] 坑洞路面
    作者:1010
    時間:西元 2016 年 10 月 */
}