-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathd6.java
30 lines (28 loc) · 879 Bytes
/
d6.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
import java.io.*;
import java.util.Arrays;
import static java.lang.System.out;
public class d6 {
public static void main(String[] args) throws IOException {
var scanner = new Scanner(System.in);
var pos = scanner.readInts();
var counts = new long[9];
for (var p : pos) {
counts[p]++;
}
out.println(total(counts, 80));
out.println(total(counts, 256));
}
static long total(long[] initial, int days) {
var prev = new long[9];
for (var d = 1; d <= days; d++) {
System.arraycopy(initial, 0, prev, 0, 9);
initial = new long[9];
initial[6] = prev[0];
initial[8] = prev[0];
for (var i = 1; i < 9; i++) {
initial[i - 1] += prev[i];
}
}
return Arrays.stream(initial).sum();
}
}