Universal Cup Judging System

Universal Cup

時間限制: 6.0 s 記憶體限制: 2048 MB 總分: 100 难度: [顯示] 可 Hack ✓
统计

어느 러닝 클럽이 회원을 모집하며 빠르게 성장하고 있으며, 매일 정확히 한 명의 신입 회원이 가입합니다. 모든 회원은 특정한 초기 실력 수준을 가지고 들어오며, 도착한 순서에 따라 고유한 ID를 부여받습니다.

매일이 끝날 때마다 코치는 클럽의 "총 잠재력"이라고 부르는 지표를 계산하는 것을 좋아합니다. 이 값은 단순히 현재 모든 회원의 개인 잠재력의 합입니다. 회원들의 동기를 부여하기 위해, 회원의 잠재력은 단 한 번의 고강도 훈련을 포함하는 가상의 "만약에" 시나리오를 통해 계산됩니다.

이 가상의 훈련에서 회원은 자신의 실력 수준을 일시적으로 높이기 위해 일정량의 노력을 기울이기로 선택할 수 있습니다. 노력을 $1$단위 소모할 때마다 실력 수준은 정확히 $1$단위 증가합니다. 그 대가로, 현재 클럽에 있는 다른 회원 중 다음 조건을 만족하는 회원마다 $1$단위의 "행복도"를 얻습니다:

  • 자신보다 엄격하게 나중에 클럽에 가입했으며,
  • 원래는 자신보다 엄격하게 실력이 더 높았으나, 이번 훈련 덕분에 따라잡혔거나 추월당함.

이 계산 중에는 해당 회원의 실력만 증가하며, 다른 모든 회원의 실력 수준은 원래 값으로 고정되어 있음에 유의하세요.

단일 회원의 잠재력은 노력 수준을 최적으로 선택하여 달성할 수 있는 순수익(행복도에서 노력을 뺀 값)의 가능한 최댓값으로 정의됩니다. 이러한 훈련은 전적으로 이론적인 것이며 코치의 일일 보고서에만 사용되고, 회원들의 실제 실력 수준은 날이 갈수록 변하지 않습니다.

여러분의 작업은 모집 기간의 매일이 끝날 때마다 코치가 클럽의 총 잠재력을 계산하는 것을 돕는 것입니다.

입력

입력의 첫 번째 줄에는 클럽이 회원을 모집하는 일수를 나타내는 정수 $n$ ($1 \le n \le 10^5$)이 주어집니다.

두 번째 줄에는 $n$개의 정수 $a_1, a_2, \dots, a_n$ ($1 \le a_i \le n$)이 주어지며, 여기서 $a_i$는 $i$번째 날에 가입하는 회원의 초기 실력 수준입니다.

출력

한 줄에 $n$개의 정수를 출력합니다. $k$번째 정수는 $k$번째 날이 끝날 때 클럽의 총 잠재력이어야 합니다.

예제

입력 1

8
1 2 3 1 2 3 2 3

출력 1

0 0 0 0 1 3 5 9

입력 2

1
1

출력 2

0

노트

예제 1 설명: $5$번째 날에는 실력 수준이 $[1, 2, 3, 1, 2]$인 $5$명의 회원이 있습니다. 회원 $1$의 경우: 더 늦게 가입하고 실력이 엄격하게 더 높은 회원이 $3$명 있습니다: 회원 $2$, 회원 $3$, 회원 $5$. 회원 $1$의 최대 잠재력은 $1$이며, 다음 전략 중 하나로 달성됩니다:

  • 회원 $1$이 $1$단위의 노력을 기울이면 실력은 $2$가 됩니다. 회원 $2$와 회원 $5$를 따라잡거나 추월하게 됩니다. 행복도는 $2$단위이고, 순수익은 $2 - 1 = 1$단위입니다.
  • 회원 $1$이 $2$단위의 노력을 기울이면 실력은 $3$이 됩니다. 회원 $2$, $3$, $5$를 따라잡거나 추월하게 됩니다. 행복도는 $3$단위이고, 순수익은 $3 - 2 = 1$단위입니다.

다른 회원들의 최대 잠재력은 $0$입니다. 따라서 $5$번째 날의 총 잠재력은 $1$입니다.

$8$번째 날에는 실력 수준이 $[1, 2, 3, 1, 2, 3, 2, 3]$인 $8$명의 회원이 있습니다. 최적의 노력은 $[2, 1, 0, 2, 1, 0, 1, 0]$이고 이에 대응하는 최대 잠재력은 $[4, 2, 0, 2, 1, 0, 0, 0]$입니다.

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.