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