年轮广场
题号:NC13583
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 128 M,其他语言256 M
64bit IO Format: %lld

题目描述

在云塘校区,有一个很适合晒太阳的地方————年轮广场

年轮广场可以看成n个位置顺时针围成一个环。
这天,天气非常好,Mathon带着他的小伙伴们出来晒太阳。他们分别坐在A[i]位置上,每个位置上保证最多只有1个小伙伴。现在Mathon想让大家集合玩狼人杀,所以想选择一个位置集合,之后所有的人顺时针或逆时针移动到那里去,每移动两个相邻的位置需要1个单位时间,小伙伴们都很有素质所以不会插近路踩草坪,只会沿着位置走。
Mathon想越快集合越好,于是他在群里发了QQ消息告诉大家集合位置,假设所有人都立刻接到了消息,然后都以最优的方法往集合位置移动。
要把所有人集合到一个位置最少需要多少时间?

输入描述:

多组输入
每组数据第一行输入n,m(1<=n,m<=1000),n表示年轮广场上位置的个数,m表示Mathon以及他的小伙伴总人数
第二行m个数,第i个A[i](1<=A[i]<=n)表示第i个人的位置。

输出描述:

每组数据输出一行,表示所需要的最少时间。
示例1

输入

复制
5 3
1 4 5
3 2
1 3

输出

复制
1
1

说明

第一组数据选择5为集合地点,第二组数据选择2为集合地点。