Untitled
unknown
java
3 years ago
1.7 kB
6
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...