摺疊時
做好對應
#include<iostream>
#include<cstring>
#include<algorithm>
#include<cstdio>
#include<queue>
#include<vector>
#include<climits>
#include<string>
#include<cstdlib>
#include<ctime>
#define MOD 1000000007
#define LL long long
using namespace std;
LL n,m,l,r,mid[3005],i,j,len;
int main()
{
scanf("%lld%lld",&n,&m);
l=0;
r=n;
for(i=1;i<=m;i++)
scanf("%lld",&mid[i]);
for(i=1;i<=m;i++)
{
for(j=i+1;j<=m;j++)
{
if(mid[i]-l>r-mid[i])
{
if(mid[j]>mid[i]) mid[j]=2*mid[i]-mid[j];
}
else
{
if(mid[j]<mid[i]) mid[j]=2*mid[i]-mid[j];
}
}
if(mid[i]-l>r-mid[i])
{
r=mid[i];
len=mid[i]-l;
}
else
{
l=mid[i];
len=r-mid[i];
}
}
printf("%lld",len);
return 0;
}