문제 분류 수업 진도 대회 채점현황 순위 질문게시판
게임
스도쿠 타이핑 리듬 타자게임 타이핑 테트리스 타이핑 인베이더 타이핑 지뢰찾기 8192 공룡게임 타이핑 플래피버드 랭킹
로그인

3177 : 누적 합이 K인 부분 배열 개수

•시간제한: 1.000 S •메모리제한: 256 MB •제출: 3 •통과: 2 •만든사람: suakii

3177 : 누적 합이 K인 부분 배열 개수

시간 1.000s · 메모리 256MB · 제출 3 · 정답 2

문제 설명

$N$개의 정수로 이루어진 수열과 정수 $K$가 주어집니다.

이 수열에서 연속된 부분 배열(Subarray)을 선택했을 때, 해당 구간에 속한 모든 원소의 합이 정확히 $K$가 되는 경우의 수를 구하는 프로그램을 작성하세요.

※ 부분 배열은 수열에서 중간에 있는 원소를 건너뛰지 않고 연속해서 이어져 있는 구간이어야 합니다.

예제 분석 : 수열 [1, 2, 3, 1, 2] 에서 합이 K = 5 인 연속 부분 배열 찾기 부분 합 = 5 인덱스 0 1 인덱스 1 2 + 인덱스 2 3 인덱스 3 1 인덱스 4 2 연속 부분 배열 [2, 3] ➜ 2 + 3 = 5 (목표합 K 일치! ✓) ※ 연속 부분 배열은 원소들이 서로 떨어지지 않고 나란히 이어져 있어야 합니다. 합이 5인 연속 부분 배열 조건 만족 : 총 1개 떨어져 있는 원소 조합인 1 + 3 + 1 = 5 는 연속이 아니므로 제외 ✕

[제약 조건]
• $1 \le N \le 10{,}000$
• $-10^9 \le K \le 10^9$
• $-10{,}000 \le (\text{각 원소}) \le 10{,}000$
• 입력되는 모든 값은 정수입니다.

입력 설명

첫째 줄에 정수 $N$과 $K$가 공백으로 구분되어 주어집니다.
둘째 줄에 $N$개의 정수가 공백으로 구분되어 주어집니다.

출력 설명

합이 $K$인 연속 부분 배열의 개수를 첫째 줄에 출력합니다.

입력 예시
COPY
복사되었습니다!

5 5
1 2 3 1 2

출력 예시
COPY
복사되었습니다!

1
NOTICE  —  BFStudy OJ 정보샘
애들아, 문제 많이 풀고 게임 잠깐 하는거지?
— 정보샘