#include <stdio.h>
#include <stdlib.h>
int find_duplicate(int arr[], int n) {
// Time: O(n). Space: O(1)
if (n == 0) {
// Invalid input. Return -1
return -1;
}
int sum = arr[0];
int min = arr[0];
int max = arr[0];
for (int i = 1; i < n; i++) {
if (arr[i] < min) {
min = arr[i];
}
if (arr[i] > max) {
max = arr[i];
}
sum += arr[i];
}
int non_dup_sum = (min + max) * (max - min + 1) / 2;
return abs(sum - non_dup_sum);
}
int main() {
int n;
scanf("%d", &n);
int arr[100];
for (int i = 0; i < n; i++) scanf("%d", &arr[i]);
int result = find_duplicate(arr, n);
printf("%d", result);
return 0;
}
Input
5 0 1 2 3 2
Expected Output
2