끄적끄적
백준 [2003] 수들의 합 2 - 투포인터 본문
출처 : https://www.acmicpc.net/problem/2003
수들의 합 2
0.5 초 | 128 MB | 24912 | 12103 | 7911 | 49.137% |
문제
N개의 수로 된 수열 A[1], A[2], …, A[N] 이 있다. 이 수열의 i번째 수부터 j번째 수까지의 합 A[i] + A[i+1] + … + A[j-1] + A[j]가 M이 되는 경우의 수를 구하는 프로그램을 작성하시오.
입력
첫째 줄에 N(1 ≤ N ≤ 10,000), M(1 ≤ M ≤ 300,000,000)이 주어진다. 다음 줄에는 A[1], A[2], …, A[N]이 공백으로 분리되어 주어진다. 각각의 A[x]는 30,000을 넘지 않는 자연수이다.
출력
첫째 줄에 경우의 수를 출력한다.
예제 입력 1
4 2
1 1 1 1
예제 출력 1
3
예제 입력 2
10 5
1 2 3 4 2 5 3 1 1 2
예제 출력 2
3
-조건 처리 주의!-
맨 처음 조건에 sum==m 조건이 있지만 아무것도 처리해주지 않으므로
밑에 sum<=m 으로 같이 처리해줘야 한다.
두 포인터가 전부 끝에 도달하면 while문을 탈출해주며,
ptr2가 맨 끝에 있을때는 증가 시키지 않고 ptr1만 증가시켜준다.
또한, ptr1과 ptr2가 같은 위치에 있을 경우 ptr2를 증가시켜줌!
'코테준비' 카테고리의 다른 글
백준 [2470] 두 용액 - 투포인터 (0) | 2021.07.16 |
---|---|
백준 [2230] 수 고르기 - 투포인터 (0) | 2021.07.15 |
백준 [7795] 먹을 것인가 먹힐 것인가 (이분탐색) (0) | 2021.07.14 |
백준 [11728] 배열 합치기 - 투포인터 (0) | 2021.07.14 |
백준 [15565] 귀여운 라이언 - 투포인터 (0) | 2021.07.14 |