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