디지털 세계의 앨리스

시간 제한1초메모리 제한512 MB

요약
배열과 m이 26 이하로 제한될 때, 최솟값이 정확히 m인 부분 배열의 최대 합을 구한다.
난이도

보통10점 중 6점

유형
배열, 분할 정복, 누적 합, 그리디
정답자
아직 제출이 없습니다

문제

이상한 나라에서 돌아온 앨리스는 디지털 세계에서 과학적 능력을 키워야 한다. 앨리스는 자신의 실력을 평가하기 위해 ACM-ICPC Asia Nha Trang Regional Contest 2016에 참가하기로 한다. 대회에서 그녀가 가장 좋아하는 문제는 다음과 같다.

양의 정수 배열 A=a1,a2,…,anA = a_1, a_2, \ldots, a_n이 주어진다. AA의 부분배열 Ai,jA_{i,j}는 AA에서 연속한 원소들의 나열, 즉 Ai,j=ai,ai+1,…,ajA_{i,j} = a_i, a_{i+1}, \ldots, a_j이다(단, 1≤i≤j≤n1 \le i \le j \le n). Ai,jA_{i,j}의 무게는 그 원소들의 합이다.

정수 mm이 주어질 때, 최솟값이 mm인 원소를 정확히 하나만 포함하는 AA의 부분배열 중 무게가 최대인 것을 찾아야 한다. AA에는 값이 mm인 원소가 항상 하나 이상 있다고 가정해도 된다.

입력

입력은 여러 데이터셋으로 이루어진다. 입력의 첫 줄에는 데이터셋의 수가 주어지며, 이는 양수이고 20 이하이다. 다음 줄들에 데이터셋이 주어진다.

각 데이터셋은 다음 줄들로 설명된다.

  • 첫째 줄에는 두 양의 정수 nn과 mm이 주어진다(n≤105n \le 10^5, m≤26m \le 26).
  • 둘째 줄에는 nn개의 양의 정수가 주어지며, 각 값은 26 이하이다.

출력

각 데이터셋에 대해 찾은 최대 무게를 한 줄에 출력한다.

예제1

  1. 예제 1

    입력
    1
    6 2
    1 3 2 6 2 4
    
    예상 출력
    12