#include <bits/stdc++.h>
int getTheSecondSmallest(int arr[], int size) {
int first, second;
first = second = INT_MAX;
for (int i = 0; i < size ; i ++) {
if (arr[i] < first) {
second = first;
first = arr[i];
}
else if (arr[i] < second && arr[i] != first)
second = arr[i];
}
if (second == INT_MAX)
return -1;
return second;
}
int main(void)
{
int arr1[] = {34, 3, 8, 2, 9, 4, 6};
std::cout << getTheSecondSmallest(arr1, sizeof(arr1)/sizeof(arr1[0])) << "\n";
int arr2[] = {1, 1, 2, 1, 1};
std::cout << getTheSecondSmallest(arr2, sizeof(arr2)/sizeof(arr2[0])) << "\n";
int arr3[] = {5, 5, 5, 5, 5, 5, 5};
std::cout << getTheSecondSmallest(arr3, sizeof(arr3)/sizeof(arr3[0])) << "\n";
return 0;
}
/*
run:
3
2
-1
*/