2003 - 수들의 합

2025. 2. 14. 15:47PS/백준

문제

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

느낀점

투포인터 기본 문제, 유형에 익숙해지자

풀이

#include <iostream>
#include <vector>

using namespace std;

int main()
{
    int N;
    long long M;
    cin >> N >> M;
    vector<long long> arr(N);
    for (int i = 0; i < N; i++)
    {
        cin >> arr[i];
    }
    int start = 0, end = 0;
    long long sum = 0, cnt = 0;
    while (true)
    {
        if (sum >= M)
        {
            if (sum == M)
            {
                cnt++;
            }
            sum -= arr[start++];
            if (start > N)
            {
                break;
            }
        }
        else
        {
            sum += arr[end++];
            if (end > N)
            {
                break;
            }
        }
    }
    cout << cnt;

    return 0;
}

'PS > 백준' 카테고리의 다른 글

2531 - 회전 초밥  (0) 2025.02.15
22857 - 가장 긴 짝수 연속한 부분 수열 (small)  (0) 2025.02.14
14246 - K보다 큰 구간  (0) 2025.02.14
28353 - 고양이 카페  (2) 2025.02.13
10025 - 게으른 백곰  (0) 2025.02.13