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:
Maximum Reduction
Paint the edges of the tree
Bacterial Melee
Magic Grid
Trips
Finding the rank of a matrix
Little Artem and Dance
Traveling Around the Golden Ring of Berland
Sieve of Eratosthenes Having Linear Time Complexity
Upgrading Tree
Princesses and Princes
New Year Letter
Perfect Security
Restructuring Company
International Olympiad
Circle-Circle Intersection
Group Projects
Divisors
Captains Mode
Sorting by Subsequences
Meaningless Operations
Smallest Word
Balanced Ternary
Oh Sweet Beaverette
New Year and Hurry
New Year Present
Golden System
Giáo trình Thuật toán - Ngọc Anh Thư
Height All the Same
Maze
Deduction Queries
Lowest Common Ancestor - Binary Lifting