Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.io.BufferedReader;
- import java.io.IOException;
- import java.io.InputStreamReader;
- import java.util.ArrayList;
- import java.util.Arrays;
- import java.util.Comparator;
- import java.util.Optional;
- import static java.lang.System.out;
- public final class Main {
- private static final int SIZE = 1000;
- public static final void main(final String[] args) throws IOException {
- try (final var reader = new BufferedReader(new InputStreamReader(System.in))) {
- final var nums = new double[SIZE];
- for (var i = 0; i < SIZE; i++)
- nums[i] = Double.parseDouble(reader.readLine().trim().replace(",", "."));
- var ind = 0;
- final var filter = new ArrayList<ArrayList<Double>>(1);
- while (ind < nums.length) {
- final var list = new ArrayList<Double>(1);
- list.add(nums[ind++]);
- while (ind < nums.length && Math.abs(nums[ind - 1] - nums[ind]) <= 2.0)
- list.add(nums[ind++]);
- filter.add(list);
- }
- out.println(
- filter.stream().map(list -> {
- final var size = list.size();
- final var dp = new double[size]; dp[0] = list.get(0);
- for (var i = 1; i < size; i++)
- dp[i] = Math.max(list.get(i), list.get(i) + dp[i - 1]);
- return Arrays.stream(dp).max().getAsDouble();
- }).max(Comparator.comparingDouble(Double::doubleValue)).get()
- );
- }
- }
- }
Add Comment
Please, Sign In to add comment