AcWing 3992. 树上有猴(java---找到两个极值点就行)
原题链接
中等
作者:
CYHMMZDAN
,
2023-03-26 19:52:29
,
所有人可见
,
阅读 41
import java.util.Arrays;
import java.util.HashMap;
import java.util.Scanner;
public class Main {
static long[] a=new long[1000005];
static long[] b=new long[1000005];
static int[] c=new int[200005];
static int[] d=new int[500005];
static int[] e=new int[200005];
static int[] f=new int[200005];
static int t=520;
static int ans=0;
static int max=-1;
static int min=(int)2e+9;
static int n=0;
static int m=0;
static int sum=0;
static int l=0;
static int r=0;
static HashMap<Integer,Integer> map=new HashMap<>();
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
n=sc.nextInt();
m=sc.nextInt();
long l=m;
long r=0;
long sum=0;
long max=0;
long min=1000000005;
for(int i=1;i<=n;i++) {
sum+=sc.nextInt();
if(sum>=0) {
if(sum>=max) {
l=m-sum;
max=sum;
}
}
else {
if(sum<min) {
r=sum;
min=sum;
}
}
}
r=Math.abs(r);
if(l>=r) {
System.out.println(l-r+1);
}
else {
System.out.println(0);
}
}
}