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