模拟,将折起来的,弄到没折的地方去
#include<cstdio>
#define ll long long
using namespace std;
ll n,f[3001];int m;
int main(){
freopen("he.in","r",stdin);
freopen("he.out","w",stdout);
scanf("%lld%d",&n,&m);
for(int i=1;i<=m;i++) scanf("%lld",&f[i]);
ll l=0,r=n;
for(int i=1;i<=m;i++){
ll x=f[i];
if(x-l>r-x){
for(int j=i+1;j<=m;j++)
if(f[j]>x) f[j]=2*x-f[j];
r=x;
}
else{
for(int j=i+1;j<=m;j++)
if(f[j]<x) f[j]=2*x-f[j];
l=x;
}
}
printf("%lld",r-l);
}