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:
Dima and Figure
Challenging Balloons
Kuroni and the Punishment
Heavy-light decomposition
JYPnation
New Year and Binary Tree Paths
Card Game
Black and White Tree
Running with Obstacles
Road Repair in Treeland
Biridian Forest
Permutations
Lowest Common Ancestor - Binary Lifting
Producing Snow
Fountains
To Play or not to Play
Dijkstra Algorithm
Count The Blocks
Bacterial Melee
Bash's Big Day
Second best Minimum Spanning Tree - Using Kruskal and Lowest Common Ancestor
Fibonacci Numbers
Montgomery Multiplication
Zip-line
Pillars
Segments on the Line
Prefix-Suffix Palindrome (Easy version)
Raffles
Bus Video System
Hilbert's Hotel
New Year Book Reading
Ksusha and Square