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