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:
Koala and Lights
Cursor Distance
Niyaz and Small Degrees
Fence Planks
Gambling Nim
Dividing Kingdom
Tree Factory
Linova and Kingdom
Minimum spanning tree - Kruskal with Disjoint Set Union
Practice
Fountains
Red Blue Tree
Magic Stones
New Year Santa Network
Giving Awards
Wilbur and Trees
Restructuring Company
New Year and the Sphere Transmission
Dima and Two Sequences
Nearest Leaf
Bags and Coins
Decoding of Integer Sequences
Circle of Monsters
XORinacci
ELCA
Factory Repairs
Ants
Counting labeled graphs
Maximums
Watching Fireworks is Fun
Restoring Map
Polygons