본문 바로가기
Study (etc)/Problem Solving

[BOJ / C++] 25916번 : 싫은데요

by Haren 2023. 5. 8.

문제

입력

입력은 아래와 같이 주어진다.

출력

구멍을 막는 데에 활용할 수 있는 최대 부피를 출력한다.

Solved.ac 레벨

실버 I

풀이

#include <bits/stdc++.h>

using namespace std;

int main(){
    ios::sync_with_stdio(false);
    cin.tie(NULL);
    cout.tie(NULL);

    int n, m;
    int s = 0, e = 0, sum = 0, result = 0;

    cin >> n >> m;

    int arr[n + 1];

    for(int i = 0; i < n; i++) {
        cin >> arr[i];
    }

    while(e <= n + 1){
        if(sum > m) {
            sum -= arr[s++];
        } else if(sum <= m) {
            result = max(result, sum);
            sum += arr[e++];
        }
    }

    cout << result << "\n";

    return 0;
}

 

 

25916번: 싫은데요

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

www.acmicpc.net