Problem:
List of Top 3 Hills

There is a data which provides heights (in meter) of mountains. The data is only for ten mountains.

Write a program which prints heights of the top three mountains in descending order.

Input

Height of mountain 1
Height of mountain 2
Height of mountain 3
.
.
Height of mountain 10

Constraints

0 ≤ height of mountain (integer) ≤ 10,000

Output

Height of the 1st mountain
Height of the 2nd mountain
Height of the 3rd mountain

Sample Input 1

1819
2003
876
2840
1723
1673
3776
2848
1592
922

Output for the Sample Input 1

3776
2848
2840

Sample Input 2

100
200
300
400
500
600
700
800
900
900

Output for the Sample Input 2

900
900
800

Solution in C (judge verdict: Time Limit Exceeded)

#include <stdio.h>
main(){
  int a[10],i,max,m2,m3;
  i=0;
  while(i<10){
    scanf("%d",&a[i]);
  }
  max=a[0];
  i=0;
  while(i<10){
    if(a[i]>max) max=a[i];
  i++;
  }

if(a[0]==max) m2=a[1];
 else m2=a[0];
i=0;

  while(i<10){
    if(a[i]>m2&&a[i]!=max) m2=a[i];
    i++;
  }

if(a[0]!=max&&a[0]!=m2) m3=a[0];
 else if(a[1]!=max&&a[1]!=m2) m3=a[1];
 else if(a[2]!=max&&a[2]!=m2) m3=a[2];
 else m3=a[3];
i=0;

  while(i<10){
    if(a[i]>m3&&a[i]!=max&&a[i]!=m2) m3=a[i];
    i++;
  }

printf("%d\n%d\n%d\n",max,m2,m3);
return 0; 
}