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

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

웨이터의 문제

면접 대비

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

요약
기다린 시간 1분마다 팁이 1씩 줄어들 때, 손님을 어떤 순서로 응대해야 총 팁이 최대가 되는지 구한다.
난이도

보통10점 중 5점

유형
그리디, 정렬, 수학, 구현
정답자
아직 제출이 없습니다

문제

Cafe Satori는 경력 있는 웨이터만 고용한다. 그럴 만한 이유가 있다. 점심시간인 낮 12시가 되면 배고픈 손님들이 카페에 몰려와 서비스를 기다린다. 당직 웨이터는 한 명뿐이라 정신없이 바쁘다. 다행히 이 힘든 일에는 넉넉한 팁이 따른다.

손님마다 즉시 서비스받는 조건으로 기꺼이 낼 팁 금액이 정해져 있다. 1분을 기다릴 때마다 팁은 1씩 줄어들며, 0이 되면 더 줄지 않는다.

웨이터가 손님 한 명을 서비스하는 데는 1분이 걸린다. 손님을 최적의 순서로 서비스할 때 웨이터가 받을 수 있는 최대 금액을 구하시오.

입력

첫째 줄에 테스트 케이스의 수 zz가 주어진다. (1≤z≤1091 \leq z \leq 10^9)

각 테스트 케이스의 첫째 줄에 손님의 수 nn이 주어진다. (1≤n≤100 0001 \le n \le 100\,000) 둘째 줄에 10910^9을 넘지 않는 음이 아닌 정수 nn개가 주어지며, 이는 손님들이 처음에 내려는 팁 금액이다.

모든 테스트 케이스의 손님 수 합은 1 000 0001\,000\,000을 넘지 않는다.

출력

각 테스트 케이스마다 웨이터가 받을 수 있는 최대 팁 총액을 출력한다.

예제1

  1. 예제 1

    입력
    1
    6
    0 9 9 1 7 5
    
    예상 출력
    24