각 원부분 배열에서 시작점으로부터 k번째 원소에 k를 곱해 더한 값의 최댓값을 구한다.
수열 s=s1,s2,…,sns = s_1, s_2, \dots, s_ns=s1,s2,…,sn의 점수는 ∑i=1ni×si\sum_{i=1}^{n} i \times s_i∑i=1ni×si로 구할 수 있다.
연속한 부분 수열도 그 자체로 하나의 수열이므로, 점수를 계산할 때 가중치 1,2,3,…1, 2, 3, \dots1,2,3,…은 부분 수열의 첫 항부터 다시 센다. 즉, 부분 수열 sl,sl+1,…,srs_l, s_{l+1}, \dots, s_rsl,sl+1,…,sr의 점수는 ∑i=lr(i−l+1)×si\sum_{i=l}^{r} (i - l + 1) \times s_i∑i=lr(i−l+1)×si이다.
수열 sss의 연속한 부분 수열의 점수 중 최댓값을 구하는 프로그램을 작성하시오. 길이가 0인 부분 수열도 고를 수 있고, 그 점수는 0이다.
첫째 줄에 nnn (1≤n≤200 0001 \le n \le 200\,0001≤n≤200000)이 주어진다.
둘째 줄에 s1,s2,…,sns_1, s_2, \dots, s_ns1,s2,…,sn이 주어진다. (∣si∣≤107|s_i| \le 10^7∣si∣≤107)
첫째 줄에 수열 sss의 연속한 부분 수열의 점수 중 최댓값을 출력한다.