Study (etc)/Problem Solving
[BOJ / C++] 25916번 : 싫은데요
Haren
2023. 5. 8. 00:33
문제

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

출력
구멍을 막는 데에 활용할 수 있는 최대 부피를 출력한다.
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