#include <iostream>
#include <vector>
int main()
{
int N = 0;
int X = 0;
int iSum = 0;
int iMax = 0;
std::cin >> N >> X;
std::vector<int> arr(N);
for (int i = 0; i < X; ++i)
{
std::cin >> arr[i];
iSum += arr[i];
}
iMax = iSum;
int iCount = 0;
if (iMax)
++iCount;
for (int i = X; i < N; ++i)
{
std::cin >> arr[i];
iSum = iSum + arr[i] - arr[i - X];
if (iSum > iMax)
{
iMax = iSum;
iCount = 1;
}
else if (iSum == iMax)
++iCount;
}
if (!iMax)
std::cout << "SAD";
else
std::cout << iMax << "\n" << iCount;
return 0;
}
슬라이스로 지나가면서 푸는 문제
'오늘의 알고리즘' 카테고리의 다른 글
[C++] 백준 2164 카드2 (0) | 2022.06.12 |
---|---|
[C++] 백준 2075 N번째 큰 수 (0) | 2022.06.11 |
[C++] 백준 9655 돌 게임 (0) | 2022.06.09 |
[C++] 백준 1927 최소 힙 (0) | 2022.06.08 |
[C++] 백준 1976 여행 가자 (0) | 2022.06.08 |