#include <stdio.h>
#include <stdint.h>
void find_min_max(uint8_t *arr, uint8_t n, uint8_t *min, uint8_t *max) {
// Your logic here
uint8_t *a = arr;
uint8_t _min = 0;
uint8_t _max = 0;
int index_max = -1;
int index_min = -1;
while(a <= (arr+n-1))
{
if(index_min == -1)
_min = *a;
if(index_max == -1)
_max = *a;
uint8_t *b = arr ;
bool test_min = 1;
bool test_max = 1;
while(b <= (arr+n-1))
{
test_max &= (_max >= *b)? 1:0;
test_min &= (_min <= *b)? 1:0;
b+=1;
}
if(test_max & (index_max == -1))
index_max = a - arr;
if(test_min & (index_min == -1))
index_min = a - arr;
a+=1;
}
*min = *(arr+index_min);
*max = *(arr+index_max);
}
int main() {
uint8_t n;
scanf("%hhu", &n);
uint8_t arr[100];
for (uint8_t i = 0; i < n; i++) {
scanf("%hhu", &arr[i]);
}
uint8_t min_val, max_val;
find_min_max(arr, n, &min_val, &max_val);
printf("%hhu %hhu", min_val, max_val);
return 0;
}
Input
5 10 20 5 30 15
Expected Output
5 30