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