贪心、水题、特别水
1-n堆糖果,从前到后,吃后边的,从后到前,吃前边的
数据会很大 , 所以这里用的BigInteger
用long当然也行,放在下边
import java.math.BigInteger;
import java.util.*;
class Main{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int x = sc.nextInt();
BigInteger res = BigInteger.valueOf(0);
StringBuilder str = new StringBuilder();
int[] nums = new int[n+1];
for(int i = 1 ; i <= n ; i++)
{
nums[i] = sc.nextInt();
}
for(int i = 1 ; i < n ; i++)
{
if(nums[i] + nums[i+1] > x)
{
BigInteger big = BigInteger.valueOf(((nums[i]+nums[i+1]) - x));
//这里加完之后一定不要忘记再赋值给res
//如果写 res.add(big); res是没有值的
res = res.add(big);
nums[i+1] = x - nums[i];
}
}
System.out.println(res);
}
}
import java.math.BigInteger;
import java.util.*;
class Main{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int x = sc.nextInt();
long res = 0;
int[] nums = new int[n+1];
for(int i = 1 ; i <= n ; i++)
{
nums[i] = sc.nextInt();
}
for(int i = 1 ; i < n ; i++)
{
if(nums[i] + nums[i+1] > x)
{
res += (nums[i]+nums[i+1]) - x;
nums[i+1] = x - nums[i];
}
}
System.out.println(res);
}
}