#include <stdio.h>
#include <stdint.h>
void find_top_3(uint8_t *arr, uint8_t n) {
// Your logic here
int first = -1, second = -1, third = -1;
for (uint8_t i = 0; i < n; i++)
{
if (arr[i] > first) {
third = second;
second = first;
first = arr[i];
}
else if (arr[i] > second) {
third = second;
second = arr[i];
}
else if (arr[i] > third) {
third = arr[i];
}
}
if (n >= 3) {
printf("%d %d %d\n", first, second, third);
} else if (n == 2) {
if (arr[0] > arr[1])
printf("%d %d\n", arr[0], arr[1]);
else
printf("%d %d\n", arr[1], arr[0]);
} else if (n == 1) {
printf("%d\n", arr[0]);
}
}
int main() {
uint8_t n;
scanf("%hhu", &n);
uint8_t arr[100];
for (uint8_t i = 0; i < n; i++) {
scanf("%hhu", &arr[i]);
}
find_top_3(arr, n);
return 0;
}
Input
6 10 90 20 80 70 30
Expected Output
90 80 70