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:
Round Marriage
Cow and Message
Kuroni and the Gifts
Cartoons
Shave Beaver!
Rock Is Push
Array Shrinking
Road Repairs
A + B Strikes Back
Digits
Integer factorization
Ehab the Xorcist
And Yet Another Bracket Sequence
Spectator Riots
Magical Boxes
Bacterial Melee
Fibonacci Numbers
Beautiful Bracket Sequence (hard version)
Longest increasing subsequence
Quiz
New Year Candles
Looksery Party
Euclidean algorithm for computing the greatest common divisor
Developing Game
Hongcow Draws a Circle
Choosing Subtree is Fun
Tổng hợp các bài toán duyệt với gợi ý lời giải
Movie Fan
Hiking
Lyndon factorization
New Year Book Reading
Operations on polynomials and series