354. Missax -
All the numbers belong to the set
{ 1 , 2 , 3 , … , N+1 } i.e. the list is a permutation of the numbers 1 … N+1 . Your task is to output the missing number. 354. Missax
int main() { ios::sync_with_stdio(false); cin.tie(nullptr); long long N; while (cin >> N) { if (N == 0) break; // end of input // ----- sum based solution ----- long long missing = (N + 1) * (N + 2) / 2; // Σ_{i=1}^{N+1} i for (long long i = 0, x; i < N; ++i) { cin >> x; missing -= x; } cout << missing << '\n'; /* ----- xor based solution (alternatively) ----- long long missing = 0; for (long long i = 1; i <= N + 1; ++i) missing ^= i; for (long long i = 0, x; i < N; ++i) { cin >> x; missing ^= x; } cout << missing << '\n'; ------------------------------------------------- */ } return 0; } The program follows exactly the algorithm proved correct above, conforms to the required I/O format and runs in linear time with constant extra memory. It compiles under any standard C++17 compiler. All the numbers belong to the set {