본문 바로가기

백준

2003 수들의 합 2

첫 투포인터 문제!

피피티만 보고 공부하고 바로 문제 풀었는데, 수가 겹쳐지길래 놀랬음

아니?? 이거 조금 다른데??

 

하지만 어제 D번을 풀어서 아 L을 움직여서 뺴면 되겠구나 싶었다. 

 

#include <iostream>
#include <vector>
using namespace std;

int main() {
    int n, m;
    scanf("%d %d", &n, &m);
    vector <int> v(n);
    
    
    for(int i = 0; i < n; i++){
        scanf("%d", &v[i]);
    }
    
    int l=0, r=0;
    int ans = 0;
    int sum = v[r];
    
    while(r < n){
        if(sum <= m){
            if(m == sum)
                ans++;
            r++;
            sum += v[r];
        }
        else{
            sum -= v[l];
            l++;
        }
    }
    
    printf("%d", ans);
    
    return 0;
}

 

 

무난히 맞았다

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

1652 누울 자리를 찾아라  (0) 2019.12.29
2470 두 용액  (0) 2019.11.30
16510 Predictable Queue  (0) 2019.11.25
10816 숫자 카드 2  (0) 2019.11.25
10815 숫자 카드  (0) 2019.11.25