Untitled
unknown
java
3 years ago
1.7 kB
5
Indexable
import java.util.Scanner; public class Seven { public static int solution(int[] array, int n){ if (n > array.length){ return -1; } int max = 0; int sum = 0; int pass = 0; int resultStartIndex = 0; for (int i = 0; i < array.length; ++i) { if (pass < n){ pass++; sum += array[i]; if (pass == n - 1){ max = sum; } continue; } if (sum + array[i] - array[i - n + 1] >= max){ resultStartIndex = i - n + 1; max = sum + array[i] - array[i - n + 1]; } sum += array[i]; sum -= array[i - n + 1]; System.out.println("Максимальная сумма: " + max); } return resultStartIndex; } public static void main(String[] args) { System.out.print("Введите элементы массива через пробел: "); Scanner scanner = new Scanner(System.in); String arrString = scanner.nextLine(); String[] arrStrings = arrString.split(" "); int[] array = new int[arrStrings.length]; for (int i = 0; i < arrStrings.length; i++) array[i] = Integer.parseInt(arrStrings[i]); Scanner scan = new Scanner(System.in); System.out.print("Введите длину подпоследовательности: "); int n = scan.nextInt(); System.out.println("Начальный индекс:" + solution(array, n)); } }
Editor is loading...