Algorithm

[백준-2559번/Java] 수열

1984 2022. 11. 15. 00:10

* 음수 고려해서 max_value 초기값 설정하기

import java.io.*;
import java.util.*;

public class Main {

	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
		String str = br.readLine();

		int N = Integer.parseInt(str.split(" ")[0]);
		int K = Integer.parseInt(str.split(" ")[1]);

		String numbers = br.readLine();
		StringTokenizer stk = new StringTokenizer(numbers, " ");

		int[] arr = new int[N];
		int sum = 0;
		int index = 0;
		while (stk.hasMoreTokens()) {
			int num = Integer.parseInt(stk.nextToken());
			sum += num;
			arr[index] = sum;
			index++;
		}

		int max_val = -10000001;
		for (int i = 0; i <= arr.length - K; i++) {
			int val;
			if (i == 0) {
				val = arr[i + K - 1];
			} else {
				val = arr[i + K - 1] - arr[i - 1];
			}

			max_val = Math.max(max_val, val);
		}

		bw.write(max_val + "");
		bw.flush();

	}

}
728x90