불러오는 중
부분 배열이란 () 꼴로 연속한 원소들을 가리킨다.
원소가 모두 양수라는 점을 이용한다. 두 인덱스 , 이 윈도우를 만든다.
원소가 양수라서 합이 단조롭게 변한다 → 윈도우의 양 끝이 한 방향으로만 움직인다 → .
입력 1
5 9
1 2 3 4 5
출력 1
2
설명: 위 그림의 예와 같이 와 두 개가 답이다.
입력 2
6 10
2 1 4 3 5 1
출력 2
1
설명: 합이 10인 연속 부분 배열은 () 하나뿐이다.
입력 3
4 7
1 1 1 1
출력 3
0
설명: 전체 합이 4뿐이라 7이 되는 부분 배열이 없다.
투 포인터를 모르면 모든 쌍을 시도해 가 된다. 이면 시간 안에 못 푼다. 투 포인터로 에 풀어 본다. 합이 64비트 범위를 쉽게 넘기니 을 쓴다.
long long