#include <stdio.h>
#include <math.h>
int min_element(int arr[], int n)
{
if(n == 1)
{
return arr[0];
}
int minVal = arr[0];
for(int i=1; i<n; i++)
{
if(arr[i] < minVal)
{
minVal = arr[i];
}
}
return minVal;
}
int max_element(int arr[], int n)
{
if(n == 1)
{
return arr[0];
}
int maxVal = arr[0];
for(int i=1; i<n; i++)
{
if(arr[i] > maxVal)
{
maxVal = arr[i];
}
}
return maxVal;
}
int sum_array(int arr[], int n)
{
int sum = 0;
for(int i=0; i<n; i++)
{
sum+=arr[i];
}
return sum;
}
int find_duplicate(int arr[], int n) {
// Your logic here
int minVal = min_element(arr, n);
int maxVal = max_element(arr, n);
int arraySum = sum_array(arr, n);
int sum_till_minVal = minVal > 0 ? ((minVal-1)*(minVal)) / 2 : 0;
int sum_till_maxVal = ((maxVal) * (maxVal+1)) / 2;
int unique_sum = sum_till_maxVal - sum_till_minVal;
return arraySum - unique_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