Problem:
Score : 200 points

Problem Statement

Niwango-kun is an employee of Dwango Co., Ltd.

One day, he is asked to generate a thumbnail from a video a user submitted.

To generate a thumbnail, he needs to select a frame of the video according to the following procedure:

Get an integer N and N integers a_0, a_1, ..., a_{N-1} as inputs. N denotes the number of the frames of the video, and each a_i denotes the representation of the i-th frame of the video.

Select t-th frame whose representation a_t is nearest to the average of all frame representations.

If there are multiple such frames, select the frame with the smallest index.

Find the index t of the frame he should select to generate a thumbnail.

Constraints

1 \leq N \leq 100

1 \leq a_i \leq 100

All numbers given in input are integers

Input

Input is given from Standard Input in the following format:

N
a_{0} a_{1} ... a_{N-1}

Output

Print the answer.

Sample Input 1

3
1 2 3

Sample Output 1

1

Since the average of frame representations is 2, Niwango-kun needs to select the index 1, whose representation is 2, that is, the nearest value to the average.

Sample Input 2

4
2 5 2 5

Sample Output 2

0

The average of frame representations is 3.5.

In this case, every frame has the same distance from its representation to the average.

Therefore, Niwango-kun should select index 0, the smallest index among them.

Solution in Java8 (OpenJDK 1.8.0) (judge verdict: Accepted)

import java.util.Scanner;

class Main{
	public static void main(String[] args) {
		Scanner sc=new Scanner(System.in);
		int N=sc.nextInt();
		int[][] sm=new int[N][2];
		int sum=0;
		for(int i=0; i<N; i++) {
			sm[i][0]=sc.nextInt();
			sum+=sm[i][0];
			sm[i][0]*=N;
			sm[i][1]=i;
		}
		quick_sort(sm,0,N-1);
		int dif_min=Integer.MAX_VALUE;
		int banme=0;
		for(int i=0; i<N; i++) {
			if(dif_min==Math.abs(sm[i][0]-sum)) {
				if(banme>sm[i][1]) {
					banme=sm[i][1];
				}
			}
			else if(dif_min>Math.abs(sm[i][0]-sum)) {
				dif_min=Math.abs(sm[i][0]-sum);
				banme=sm[i][1];
			}
		}
		System.out.println(banme);
	}
	static void quick_sort(int[][] d, int left, int right) {
        if (left>=right) {
            return;
        }
        int p = d[(left+right)/2][0];
        int l = left, r = right, tmp,tmp1,tmp2;
        while(l<=r) {
            while(d[l][0] < p) { l++; }
            while(d[r][0] > p) { r--; }
            if (l<=r) {
                tmp = d[l][0]; d[l][0] = d[r][0]; d[r][0] = tmp;
                tmp1=d[l][1]; tmp2=d[r][1]; d[l][1]=tmp2; d[r][1]=tmp1;
                l++; r--;
            }
        }
        quick_sort(d, left, r);
        quick_sort(d, l, right);
    }
}