부분평균

길이가 2 이상인 연속 부분 배열 중 평균이 가장 작은 것의 시작 인덱스를 찾고, 같으면 가장 작은 인덱스를 출력한다.

보통6배열수학그리디아직 제출이 없습니다시간 제한1초메모리 제한512 MB

문제

길이가 NN인 배열 AA가 있다. 배열의 인덱스는 0부터 시작한다. 0P<Q<N0 \le P < Q < N을 만족하는 정수 PP, QQ에 대해 AA의 부분평균 A(P,Q)A(P, Q)를 다음과 같이 정의한다.

A(P,Q)=i=PQA[i]QP+1A(P, Q) = \frac{\sum_{i=P}^{Q} A[i]}{Q - P + 1}

즉 부분평균은 연속한 두 개 이상의 원소를 뽑아 구한 평균이다.

예를 들어 N=3N = 3이고 A[0]=3A[0] = 3, A[1]=1A[1] = 1, A[2]=2A[2] = 2이면 가능한 부분평균은 A(0,1)=2A(0, 1) = 2, A(0,2)=2A(0, 2) = 2, A(1,2)=1.5A(1, 2) = 1.5 세 가지이고 이 중 최솟값은 A(1,2)=1.5A(1, 2) = 1.5이다.

배열 AA가 주어질 때, 부분평균이 최소인 A(u,v)A(u, v)를 찾아 uu를 출력하는 프로그램을 작성하라. 최솟값을 주는 쌍이 여러 개이면 uu가 가장 작은 것을 출력한다.

입력

첫째 줄에 배열의 길이 NN이 주어진다. 둘째 줄에 A[0]A[0], A[1]A[1], \dots, A[N1]A[N-1]이 공백으로 구분되어 주어진다.

  • 2N1,000,0002 \le N \le 1{,}000{,}000
  • 0A[i]7×1080 \le A[i] \le 7 \times 10^8

출력

첫째 줄에 uu를 출력한다.

힌트

P+1<QP + 1 < Q이면 P<K<QP < K < Q인 정수 KK가 존재해서 다음 두 부등식 중 하나가 성립한다.

i=PKA[i]KP+1i=PQA[i]QP+1i=K+1QA[i]QK\frac{\sum_{i=P}^{K} A[i]}{K - P + 1} \le \frac{\sum_{i=P}^{Q} A[i]}{Q - P + 1} \le \frac{\sum_{i=K+1}^{Q} A[i]}{Q - K}

또는

i=K+1QA[i]QKi=PQA[i]QP+1i=PKA[i]KP+1\frac{\sum_{i=K+1}^{Q} A[i]}{Q - K} \le \frac{\sum_{i=P}^{Q} A[i]}{Q - P + 1} \le \frac{\sum_{i=P}^{K} A[i]}{K - P + 1}