아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

신발 공장

면접 대비

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

요약
1부터 N까지 가격 중 해당 가격을 낼 수 있는 구매자 수와 단위 이익을 곱한 값을 최대로 만듭니다.
난이도

쉬움10점 중 2점

유형
누적 합, 완전 탐색
정답자
아직 제출이 없습니다

문제

어떤 회사가 신발 공장을 운영하고 있습니다. 신발 한 켤레를 만드는 데 드는 생산 비용은 KK입니다.

시장 조사를 통해 길이가 NN인 자연수 수열 AA를 얻었습니다. AiA_i (1≤i≤N1 \le i \le N)는 지불할 수 있는 최대 가격이 정확히 ii인 사람의 수, 즉 한 켤레의 가격이 ii 이하일 때에만 신발을 사는 사람의 수를 뜻합니다.

가격을 pp로 정하면 지불 가능한 최대 가격이 pp 이상인 사람이 모두 한 켤레씩 사므로, 구매자 수는 Ap+Ap+1+⋯+ANA_p + A_{p+1} + \dots + A_N입니다. 각 구매자는 pp를 내고 한 켤레의 생산 비용은 KK이므로, 이때의 이익(판매액에서 생산 비용을 뺀 값)은

(Ap+Ap+1+⋯+AN)⋅(p−K)(A_p + A_{p+1} + \dots + A_N) \cdot (p - K)

입니다. 1≤p≤N1 \le p \le N을 만족하는 모든 가격 pp 중에서 이익이 가장 큰 값을 구하세요. 생산 비용이 가능한 모든 가격보다 크면 이 최댓값은 음수가 될 수도 있습니다.

입력

첫째 줄에 테스트 집합의 수 ZZ (1≤Z≤101 \le Z \le 10)가 주어집니다.

각 테스트 집합은 두 줄로 이루어집니다. 첫째 줄에는 두 정수 NN과 KK (1≤N,K≤1051 \le N, K \le 10^5)가 주어집니다. 둘째 줄에는 NN개의 정수 A1,A2,…,ANA_1, A_2, \dots, A_N (0≤Ai≤1050 \le A_i \le 10^5)이 공백으로 구분되어 주어집니다.

출력

각 테스트 집합마다 공장이 얻을 수 있는 최대 이익을 한 줄에 하나씩 출력하세요.

설명

가격을 pp로 정하면 지불 가능한 최대 가격이 pp 이상인 사람이 모두 사므로 구매자 수는 Ap+⋯+ANA_p + \dots + A_N이고, 한 켤레마다 p−Kp - K의 이익이 남습니다. 예를 들어 A=[5,4,3,2,1]A = [5, 4, 3, 2, 1]이고 K=1K = 1일 때 가격을 33으로 정하면 구매자는 3+2+1=63 + 2 + 1 = 6명이고 이익은 6⋅(3−1)=126 \cdot (3 - 1) = 12이며, 이것이 최댓값입니다. 가능한 모든 가격에 대해 이 값을 계산한 뒤 그중 최댓값을 출력하면 됩니다.

예제3

  1. 예제 1

    입력
    2
    5 1
    5 4 3 2 1
    5 1
    1 2 3 4 5
    
    예상 출력
    12
    27
    
  2. 예제 2

    입력
    1
    4 2
    8 6 5 2
    
    예상 출력
    7
    
  3. 예제 3

    입력
    1
    1 1
    0
    
    예상 출력
    0