AcWing 730. 机器人跳跃问题
原题链接
中等
作者:
不知名路人
,
2021-04-11 10:42:33
,
所有人可见
,
阅读 348
import java.util.Scanner;
public class Main {
static int N=100010;
static int n;
static int[] a=new int[N];
public static void main(String[] args) {
Scanner in =new Scanner(System.in);
n=in.nextInt();
for(int i=1;i<=n;i++){
a[i]=in.nextInt();
}
int l=1;
int r=100000;
while (l<r){
int mid=(l+r)/2;
if(check_mid(mid)){
r=mid;
}else {
l=mid+1;
}
}
System.out.println(r);
}
static boolean check_mid(int e){
for(int i=1;i<=n;i++){
e=2*e-a[i];
if(e<0){
return false;
}
if(e>=100000){
return true;
}
}
return true;
}
}