합이 정확히 K인 연속 부분배열 최대 길이
의견: 0
어느 가게의 매출 일지에는 \(N\) 일 동안의 일별 매출액이 순서대로 기록되어 있다. 모든 일별 매출액은 양의 정수이다.
사장은 합이 정확히 \(K\) 가 되는 가장 긴 연속된 기간을 찾으려 한다. 즉, 매출 배열 \(a_1, a_2, \dots, a_N\) 에서 \(a_l + a_{l+1} + \dots + a_r = K\) 를 만족하는 구간 \([l, r]\) 중 \(r - l + 1\) 이 최대인 것을 찾아 그 길이를 출력하면 된다.
그러한 연속 부분배열이 하나도 없다면 \(0\) 을 출력한다.
예를 들어 매출이 \([1, 2, 3, 2, 1]\) 이고 \(K = 5\) 라면, 합이 \(5\)인 연속 부분배열은 \([2, 3]\) 과 \([3, 2]\) 로 둘 다 길이가 \(2\) 이므로 답은 \(2\) 이다.
\(1 \le N \le 200{,}000\)
\(1 \le K \le 10^{14}\)
\(1 \le a_i \le 10^{9}\) (모든 매출액은 양의 정수)
첫째 줄에 매출이 기록된 날수 \(N\) 과 목표 합 \(K\) 가 공백으로 구분되어 주어진다.
둘째 줄에 \(N\) 개의 양의 정수 \(a_1, a_2, \dots, a_N\) 이 공백으로 구분되어 주어진다.
합이 정확히 \(K\) 가 되는 가장 긴 연속 부분배열의 길이를 한 줄에 출력한다. 그러한 부분배열이 없으면 \(0\) 을 출력한다.
5 5
1 2 3 2 1
2
합이 정확히 \(5\)가 되는 연속 부분배열은 \([2,3]\) 와 \([3,2]\) 이며 둘 다 길이가 \(2\)이다. 따라서 답은 \(2\)이다.
6 4
1 1 1 2 1 1
3
합이 정확히 \(4\)가 되는 연속 부분배열 중 가장 긴 것은 \([1,1,2]\)(길이 3) 또는 \([2,1,1]\)(길이 3)이다. 따라서 답은 \(3\)이다.
3 7
5 5 5
0
합이 정확히 \(7\)이 되는 연속 부분배열이 없으므로 답은 \(0\)이다.
riseoj 작성
출처 Original
평가 및 의견
합이 정확히 K인 연속 부분배열 최대 길이
아직 의견이 없습니다. 자격이 된다면 위 양식에서 가장 먼저 평가해 보세요.
풀이 제출
합이 정확히 K인 연속 부분배열 최대 길이