Problem:
Score: 200 points

Problem Statement

A country decides to build a palace.

In this country, the average temperature of a point at an elevation of x meters is T-x \times 0.006 degrees Celsius.

There are N places proposed for the place. The elevation of Place i is H_i meters.

Among them, Princess Joisino orders you to select the place whose average temperature is the closest to A degrees Celsius, and build the palace there.

Print the index of the place where the palace should be built.

It is guaranteed that the solution is unique.

Constraints

1 \leq N \leq 1000

0 \leq T \leq 50

-60 \leq A \leq T

0 \leq H_i \leq 10^5

All values in input are integers.

The solution is unique.

Input

Input is given from Standard Input in the following format:

N
T A
H_1 H_2 ... H_N

Output

Print the index of the place where the palace should be built.

Sample Input 1

2
12 5
1000 2000

Sample Output 1

1

The average temperature of Place 1 is 12-1000 \times 0.006=6 degrees Celsius.

The average temperature of Place 2 is 12-2000 \times 0.006=0 degrees Celsius.

Thus, the palace should be built at Place 1.

Sample Input 2

3
21 -11
81234 94124 52141

Sample Output 2

3

Solution in C++14 (GCC 5.4.1) (judge verdict: Accepted)

#include <bits/stdc++.h>
#define D(x) cout << #x << "=" << x << " "
#define E puts("")
using namespace std;
typedef long long LL;
inline int getint() {
	int a = 0, f = 1; char c = getchar();
	while (c > '9' || c < '0') { if (c == '-') f = -1; c = getchar();}
	while (c <= '9' && c >= '0') { a = a * 10 + c - '0'; c = getchar();}
	return a * f;
}

const int MAXN = 1000 + 3;
struct name{
	int val, num;
	double temp;
	bool operator < (const name &rhs) const {
		return temp < rhs.temp;
	}
}H[MAXN];

int main(int argc, char const *argv[]) {
	//freopen("in", "r", stdin);
	//freopen("out", "w", stdout);
	int N = getint(), T = getint(), A = getint();
	for (int i = 1; i <= N; i++) {
		H[i].val = getint(); H[i].num = i;
		H[i].temp = T - 0.006 * H[i].val;
	}
	sort(H + 1, H + 1 + N);
	name M;
	M.temp = A;
	int p = lower_bound(H + 1, H + 1 + N, M) - H;
	int ans; double mn = 200000000;
	for (int i = p - 2; i <= p + 2 && i <= N; i++) {
		if (fabs(H[i].temp - A) < mn) {
			mn = fabs(H[i].temp - A);
			ans = H[i].num;
		}
	}
	printf("%d\n", ans);
	return 0;
}