在一条笔直的公路上安装了N
个路灯,
从位置0
开始安装,路灯之间间距固定为100
米
每个路灯都有自己的照明半径
请计算第一个路灯和最后一个路灯之间,
无法照明的区间的长度和。
第一行为一个数N
,表示路灯个数,1 <= N <= 100000
第二行为N
个空格分割的数,表示路灯的照明半径,1 <= 照明半径
无法照明的区间的长度和。
2
50 50
0
路灯1覆盖0-50 路灯二覆盖50-100
路灯1和路灯2 之间(0-100米)无未覆盖的区间
import java.util.Scanner;
/**
* Created with IntelliJ IDEA.
* Author: Amos
* E-mail: amos@amoscloud.com
* Date: 2022/5/28
* Time: 14:25
* Description:
*/
public class Main0093 {
public static void main(String[] args) {
try (Scanner scanner = new Scanner(System.in)) {
int n = scanner.nextInt();
int[] ints = new int[n];
for (int i = 0; i < n; i++) {
ints[i] = scanner.nextInt();
}
solution(ints);
}
}
private static void solution(int[] ints) {
byte[] bytes = new byte[(ints.length - 1) * 100];
for (int i = 0; i < ints.length; i++) {
int pos = i * 100;
int left = Math.max(pos - ints[i], 0);
int right = Math.min(pos + ints[i], bytes.length);
for (int k = left; k < right; k++) {
bytes[k] = 1;
}
}
int count = 0;
for (byte b : bytes) {
if (b == 0) count++;
}
System.out.println(count);
}
}