문제 풀이 및 개발 공간

[백준] 2559번 수열 문제! (silver 3 본문

백준공부/java

[백준] 2559번 수열 문제! (silver 3

gomduri43 2023. 4. 7. 00:10

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

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));
        StringTokenizer st = new StringTokenizer(br.readLine());
        int n = Integer.parseInt(st.nextToken());
        int k = Integer.parseInt(st.nextToken());
        int[] days = new int[n + 1];
        int[] sum = new int[n + 1];
        st = new StringTokenizer(br.readLine());

        for (int i = 1; i < days.length; i++) {
            days[i] = Integer.parseInt(st.nextToken());
        }
        int temp = 0;
        for (int i = 1; i < k + 1; i++) {
            temp += days[i];
        }
        if (n == k) {
            bw.write(temp + "");
            bw.flush();
        } else {
            int max = temp;
            sum[k] = temp;
            temp = 1;
            for (int i = k + 1; i < days.length; i++) {
                sum[i] = sum[i - 1] + days[i] - days[temp];
                temp++;
                max = max > sum[i] ? max : sum[i];

            }
            bw.write(max + "");
            bw.flush();
        }

    }
}