25916 - 싫은데요
2025. 2. 17. 12:45ㆍPS/백준
문제
https://www.acmicpc.net/problem/25916
느낀점
풀이는 기본적인 투포인터 문제이지만, 문제의 조건을 잘 읽고 엣지 케이스를 대비해야한다는 것을 다시 한 번 깨달음
풀이
#include <iostream>
#include <vector>
using namespace std;
int main()
{
int N;
long long M;
cin >> N >> M;
vector<int> numList(N);
for (int i = 0; i < N; i++)
{
cin >> numList[i];
}
int left = 0;
long long volumeCount = 0, maxVolume = 0;
for (int right = 0; right < N; right++)
{
volumeCount += numList[right];
if (volumeCount > M)
{
while (true)
{
volumeCount -= numList[left++];
if (left >= N)
{
break;
}
if (volumeCount <= M)
{
maxVolume = max(maxVolume, volumeCount);
break;
}
}
}
else
{
maxVolume = max(maxVolume, volumeCount);
}
}
cout << min(M, maxVolume);
return 0;
}
'PS > 백준' 카테고리의 다른 글
2118 - 두 개의 탑 (0) | 2025.02.17 |
---|---|
1484 - 다이어트 (0) | 2025.02.17 |
20922 - 겹치는 건 싫어 (0) | 2025.02.17 |
15565 - 귀여운 라이언 (0) | 2025.02.17 |
2531 - 회전 초밥 (0) | 2025.02.15 |