#include <stdio.h> #include <stdint.h> uint8_t print_largest(uint8_t *arr, uint8_t n){ if(n == 1){ printf("%d ", arr[0]); return 0; } uint8_t largest = arr[0]; uint8_t index = 0; for(int i = 1; i< n; i++){ if(arr[i] > largest){ largest = arr[i]; index = i; } } printf("%d ", largest); return index; } void find_top_3(uint8_t *arr, uint8_t n) { // Your logic here int rounds = (n<3) ? n : 3; for(int i = 0; i< rounds; i++){ uint8_t index = print_largest(arr, n); arr[index] = 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; }
Test Cases
Test Results
Input
6 10 90 20 80 70 30
Expected Output
90 80 70