所有题目均有五种语言实现。C实现目录、C++ 实现目录、Python实现目录、Java实现目录、JavaScript实现目录
题目
为了解新学期学生暴涨的问题,小乐村要建立所新学校
考虑到学生上学安全问题,需要所有学生家到学校的距离最短.
假设学校和所有学生家都走在一条直线之上,请问学校建立在什么位置,
能使得到学校到各个学生家的距离和最短
输入描述
第一行:整数n取值范围[1,1000],表示有n户家庭。
第二行:一组整数m取值范围[0,10000],表示每户家庭的位置,所有家庭的位置都不相同。
输出描述
一个整数,确定的学校的位置,如果有多个位置,则输出最小的。
示例一
输入5
0 20 40 10 30
输出20
思路
1:这是一个经典的数学问题
想象一数轴,任意找一个点,它左边有4个点,右边有2个点,把该点往左移动一点点,不要移动太多,以免碰到其他输入点。假设移动了d单位距离,则该点到左边4个点的距离各减少d,该点都右边2个点的距离各增加d,但总的来说,距离之和减少了2d。
同理,该点的左边有2个点,右边有4个点时,类似,不过此时应该是向右移动。