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:
Challenges in school №41
JYPnation
Decoding of Integer Sequences
Washer, Dryer, Folder
Bookshelves
Maximums
Calculating the determinant using Kraut method in $O(N^3)$
Sherlock and the Encrypted Data
Aztec Catacombs
Fox And Travelling
Cards
Dynamic Programming on Broken Profile
Ksusha and Square
Vanya and Lanterns
Vanya and Exams
Arson In Berland Forest
Petr and Permutations
World Eater Brothers
Underfail
Gotta Catch Em' All!
Captain Marmot
Mergesort Strikes Back
Middle Class
Palisection
Tablecity
Intersection Point of Lines
Interesting Array
Pillars
Auto completion
Good Subsets
Haar Features
New Year and Fireworks