番目の地点でケーキを切った場合、ケーキの長さは と に分かれることが分かります。
あとは、set などの同じ値が重複して入らないデータ構造にケーキの長さを挿入していくことにより種類数を計算することができます。
#include<bits/stdc++.h>
using namespace std;
int main(){
int n, m;
cin >> n >> m;
vector<long long> a(m);
for(int i = 0; i < m; i++){
cin >> a[i];
}
set<int> s;
for(int i = 0; i < m; i++){
s.insert(a[i]);
s.insert(n - a[i]);
}
int ans = s.size();
cout << ans << endl;
}