You are given n points on a line with their coordinates x i. Find the point x so the sum of distances to the given points is minimal.
Input
The first line contains integer n (1 ≤ n ≤ 3·105) — the number of points on the line.
The second line contains n integers x i ( - 109 ≤ x i ≤ 109) — the coordinates of the given n points.
Output
Print the only integer x — the position of the optimal point on the line. If there are several optimal points print the position of the leftmost one. It is guaranteed that the answer is always the integer.Exampleinput
4
1 2 3 4
output
2
Solution:
#include <bits/stdc++.h>
using namespace std;
int a[1234567];
int main() {
int n;
scanf("%d", &n);
for (int i = 0; i < n; i++) {
scanf("%d", a + i);
}
sort(a, a + n);
printf("%d\n", a[(n - 1) / 2]);
return 0;
}
Related posts:
Amr and Pins
Lattice points inside non-lattice polygon
Tablecity
Ehab the Xorcist
Knight Tournament
Captain Marmot
Scaygerboss
A Serial Killer
Beautiful Bracket Sequence (hard version)
Road Repairs
University Classes
2 - SAT
Sherlock and his girlfriend
Metro
Mischievous Mess Makers
New Year and the Permutation Concatenation
The Child and Binary Tree
New Year Santa Network
The Holmes Children
Ramesses and Corner Inversion
Bad Days
Mateusz and an Infinite Sequence
Koala and Lights
Fibonacci Numbers
Basic Geometry
Load Testing
Gauss method for solving system of linear equations
Restore Permutation
Treasure
Double Elimination
Three Integers Again
Fence Planks