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:
Montgomery Multiplication
Number Transformation
Divisors
Prefix-Suffix Palindrome (Hard version)
Valid BFS?
New Year and the Christmas Ornament
Three Integers Again
Can Bash Save the Day?
M-numbers
Mystic Carvings
Koala and Lights
Mischievous Mess Makers
Helga Hufflepuff's Cup
Elementary
Oriented area of a triangle
Washer, Dryer, Folder
New Year Permutation
Bathroom terminal
The Values You Can Make
Sereja and Algorithm
The Evil Temple and the Moving Rocks
Function
New Year and Hurry
Boredom
XOR Equation
Submask Enumeration
Quiz
Bots
Domino for Young
Travel Card
Discrete Root
Hongcow's Game