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:
King of Thieves
Z-function and its calculation
Alyona and a Narrow Fridge
Fence
Graph Reconstruction
Jerry's Protest
Largest Submatrix 3
Wise Men (Hard Version)
University Classes
Running with Obstacles
Check if point belongs to the convex polygon in $O(\log N)$
Basic Geometry
Little Artem and Dance
Road Repair in Treeland
Circle-Circle Intersection
Face Detection
Counting Rectangles is Fun
Xenia and Hamming
Increase Sequence
Big Data
Ancient Prophesy
Slime and Biscuits
R3D3’s Summer Adventure
Design Tutorial: Inverse the Problem
Clique in the Divisibility Graph
To Play or not to Play
Coprime Permutation
Search for a pair of intersecting segments
Restoring Three Numbers
Fox and Minimal path
Finding articulation points in a graph in $O(N+M)$
Game with Powers