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

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

Player-based Team Distribution

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

요약
플레이어 N명을 여러 팀으로 나눌 때 각 플레이어가 얻는 a_i 곱하기 팀 인원 수의 합이 최대가 되도록 하라.
난이도

보통10점 중 5점

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

문제

플레이어 NN명이 11개 이상의 팀으로 나누어 게임을 진행하려 한다. 플레이어는 각각 정확히 한 팀에 속해야 한다. ii번째 플레이어는 같은 팀에 속한 인원 수와 a_ia\_i를 곱한 것만큼의 점수를 얻는다.

팀을 적절히 나누었을 때, 모든 플레이어의 점수의 합의 최댓값을 구해보자.

입력

첫째 줄에 NN (1≤N≤1051 \leq N \leq 10^5)이 주어진다.

둘째 줄에 NN개의 정수가 주어진다. ii번째 수는 a_ia\_i이다. (−105 ≤a_i ≤105 -10^5 \leq a\_i \leq 10^5)

출력

첫째 줄에 팀을 적절히 나누었을 때 모든 플레이어들의 점수의 합의 최댓값을 출력한다.

예제1

  1. 예제 1

    입력
    4
    2 3 -4 1
    
    예상 출력
    14