/* -*- coding: utf-8 -*- * * 2486.cc: No.2486 Don't come next to me - yukicoder */ #include #include using namespace std; /* constant */ const int MAX_M = 200000; /* typedef */ typedef long long ll; /* global variables */ ll as[MAX_M]; /* subroutines */ /* main */ int main() { ll n; int m; scanf("%lld%d", &n, &m); for (int i = 0; i < m; i++) scanf("%lld", as + i); ll sum = 0; for (int i = 0; i + 1 < m; i++) { ll d = as[i + 1] - as[i] - 1, c = 1; while (d > 1 && (d & 1)) d >>= 1, c <<= 1; sum += d * c; } printf("%lld\n", sum); return 0; }