#include <stdio.h>
#include <stdint.h>
void find_top_3(uint8_t *arr, uint8_t n) {
// Your logic here
int var1 = -1, var2 = -1, var3 = -1; // use int, not uint8_t
for (uint8_t i = 0; i < n; i++) {
int num = arr[i];
if (num > var1) {
var3 = var2;
var2 = var1;
var1 = num;
}
else if (num > var2 || var2 == -1) {
var3 = var2;
var2 = num;
}
else if (num > var3 || var3 == -1) {
var3 = num;
}
}
if (var1 != -1) printf("%d ", var1);
if (var2 != -1) printf("%d ", var2);
if (var3 != -1) printf("%d", var3);
}
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