Canadian Computing Competition: 2018 Stage 1, Senior #1
In the country of Voronoi, there are villages, located at distinct points on a straight road. Each of these villages will be represented by an integer position along this road.
Each village defines its neighbourhood as all points along the road which are closer to it than to any other village. A point which is equally close to two distinct villages and
is in the neighbourhood of
and also in the neighbourhood of
.
Each neighbourhood has a size which is the difference between the minimum (leftmost) point in its neighbourhood and the maximum (rightmost) point in its neighbourhood.
The neighbourhoods of the leftmost and rightmost villages are defined to be of infinite size, while all other neighbourhoods are finite in size.
Determine the smallest size of any of the neighbourhoods (with exactly 1 digit after the decimal point).
Input Specification
The first line will contain the number
, the number of villages. On the next
lines there will be one integer per line, where the
line will contain the integer
, the position of the
village
. All villages are at distinct positions.
Output Specification
Output the smallest neighbourhood size with exactly one digit after the decimal point.
Sample Input
5
16
0
10
4
15
Sample Output
3.0
Explanation for Sample Output
The neighbourhoods around and
are infinite. The neighbourhood around
is
units (
to the left, and
to the right). The neighbourhood around
is
units (
to the left and
to the right). The neighbourhood around
is
units (
to the left and
to the right).
Comments
To further clarify the output:
This basically means that the halfway point between 0 and 4 is 2, and 4 to 10 is 7. Thus the neighborhood starts at position 2 and ends at 7, which brings it to 5 units overall (unrelated to N = 5, first sample input).
You can down vote me as much as you want, but this problem is described in extremely vague terms. It took me forever to understand that we need to sort the villages before we do any logic on them. Seriously how hard is it to say that villages are sorted in the explained example!
This comment is hidden due to too much negative feedback. Show it anyway.
Whether the need to sort or not is obvious that doesn't bely that the explanation is still pretty vague. It's poorly written, poorly explained.
Really make sure you understand the explanation for the sample output before you begin writing any code. I wasted a lot of time because I misunderstood the question, don't make the same mistake.
This comment is hidden due to too much negative feedback. Show it anyway.
I spent 4 hours on figuring out the mechanics of outputting and inputting. Damn YES!
I spent 10 min trying to figure out why 4 is 5 units (2 to the left, and 3 to the right) and then find that "5" in the sample input is NOT a villiage.... I am soooo stupid
For those who are constantly getting 6/15, make sure that your output isn't in scientific notation, took me a bit to figure that out on the CCC.
It says that in the editorial as well, but it probably only occurs in some languages. Thanks anyways for that useful info!