알고리즘

백준 25916번 싫은데요 (JAVA)

박카스마시며코딩 2023. 2. 10. 13:45

https://www.acmicpc.net/problem/25916

 

25916번: 싫은데요

$6$번째 구멍부터 $8$번째 구멍까지 막으면 총 $9$의 부피를 소모하고, 최대값인 $9$를 출력한다

www.acmicpc.net

 

 

 

package BOJ.twopoint;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
import java.util.function.Function;

public class BOJ_25916 {

    public static void main(String[] args) throws Exception {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer st = new StringTokenizer(br.readLine());
        Function<String,Integer> stoi = Integer::parseInt;
        int n = stoi.apply(st.nextToken());
        int m = stoi.apply(st.nextToken());
        int[] input = new int[n];
        st = new StringTokenizer(br.readLine());
        for(int i = 0 ; i < n ; i++){
            input[i] = stoi.apply(st.nextToken());
        }
        int sp = 0;
        int sum = 0;
        long result = 0;
        for(int i = 0 ; i < n ; i++){
            sum += input[i];
            while(sum > m){
                sum -= input[sp++];
            }
            result = Math.max(result,sum);
        }
        System.out.println(result);
    }
}