#include <stdio.h>
#include <stdint.h>
void find_top_3(uint8_t *arr, uint8_t n) {
// Your logic here
uint8_t first = 0, second = 0, third = 0;
uint8_t count = 0;
for (uint8_t i = 0; i < n; i++) {
uint8_t current = arr[i];
if (current > first) {
third = second;
second = first;
first = current;
}
else if (current > second) {
third = second;
second = current;
}
else if (current > third) {
third = current;
}
}
if (n >= 1) count++;
if (n >= 2) count++;
if (n >= 3) count++;
if (count >= 1) printf("%d ", first);
if (count >= 2) printf("%d ", second);
if (count >= 3) printf("%d", third);
}
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