#include <stdio.h> #include <stdint.h> void find_top_3(uint8_t *arr, uint8_t n) { uint8_t largest = 0; uint8_t middle = 0; uint8_t smallest = 0; for(int i = 0; i < n; i++){ if(arr[i] > largest){ smallest = middle; middle = largest; largest = arr[i]; } else if(arr[i] > middle){ smallest = middle; middle = arr[i]; } else if(arr[i] > smallest){ smallest = arr[i]; } } if(largest != 0) {printf("%u ", largest);} if(middle != 0) {printf("%u ", middle);} if(smallest != 0) {printf("%u\n", smallest);} } 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; }
Test Cases
Test Results
Input
6 10 90 20 80 70 30
Expected Output
90 80 70