Go: package main

import (
	"bufio"
	"fmt"
	"os"
	"sort"
	"strconv"
)

var rdr = bufio.NewReaderSize(os.Stdin, 1000000)

func readLine() string {
	buf := make([]byte, 0, 1000000)
	for {
		l, p, e := rdr.ReadLine()
		if e != nil {
			panic(e)
		}
		buf = append(buf, l...)
		if !p {
			break
		}
	}
	return string(buf)
}

func toInt(str string) int {
	n, _ := strconv.Atoi(str)
	return n
}

func main() {
	lst := make([]int, 0)
	for i := 0; i < 10; i++ {
		lst = append(lst, toInt(readLine()))
	}
	sort.Ints(lst)
	for i := 9; i > 6; i-- {
		fmt.Println(lst[i])
	}
}

C++: #include <iostream>
#include <array>

using namespace std;

int main( void )
{
	// ?????°??£?¨?
	array< int, 10 > array1;

	// ??\?????????
	for ( int i = 0; i < 10; i++ ) {
		cin >> array1[ i ];
	}

	// ???????????????
	for ( int i = 1; i < 10; i++ ) {
		for ( int j = 0; j < i; j++ ) {
			if ( array1[ j ] > array1[ i ] ) {
				int tmp = array1[ i ];
				array1[ i ] = array1[ j ];
				array1[ j ] = tmp;
			}
		}
	}

	// ????????????
	cout << array1[ 9 ] << endl << array1[ 8 ] << endl << array1[ 7 ] << endl;

}

C++: #include<stdio.h>

int main(){
	
	int a[3]={-1,-1,-1},i,b;
	
	for(i=0;i<10;i++){
		
		scanf("%d",&b);
		
		if(b>a[0]){
			
			a[1]=a[0];
			a[0]=b;
		}
		else if(b>a[1]){
			
			a[2]=a[1];
			a[1]=b;
		}
		else if(b>a[2]){
			
			a[2]=b;
		}
	}
	printf("%d\n%d\n%d\n",a[0],a[1],a[2]);
	
	return 0;
}

C++: #include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
 
int main(){
    int n;
    vector<int> high;
     
    for(int i=0 ; i<10 ; i++){
        cin >> n;
        high.push_back( n );
    }
     
    sort( high.begin() , high.end() );
 
    for(int i=9 ; i>=7 ; i--){
        cout << high.at( i ) << endl;
    }
}

C++: #include<iostream>
#include<algorithm>
#include<vector>

using namespace std;

int main()
{
vector<int> str(10);
for(int i = 0; i < 10; i++){
  cin >> str[i];
 }
sort(str.begin(), str.end());

printf("%d\n%d\n%d\n",str[10],str[9], str[8]);
}

C++: #include<iostream>
#include <vector>
#define REP(i,n) for(int i=0;i<(int)n;++i)

using namespace std;

void solver() {
    vector<int> m;
    REP(i,10){
        int n;
        cin>>n;
        m.push_back(n);
    }
    sort(m.begin(),m.end(),greater<int>());
    REP(i,3){
        cout<<m[i]<<endl;
    }
}

int main() {
    solver();
    return 0;
}

C++: import java.io.bufferedreader;
import java.io.inputstreamreader;
import java.util.arrays;

class aoj001{
  public static void main(string[] a){
    bufferedreader br = new bufferedreader(new inputstreamreader(system.in));
    int[] arr = new int[10]; 
    for (int i = 0; i<10; i++)
      arr[i] = integer.parseint(br.readline());

    arrays.sort(arr);
    for (int i = 0; i < 3; i++)
      system.out.println(arr[i]);
  }
}

C++: #include<bits/stdc++.h>
using namespace std;
 
int a[15];
 
int main(){
    for(int i=0;i<10;i++){
        cin>>a[i];
    }
    sort(a, a+10);
    cout<<a[9]<<endl
        <<a[8]<<endl
        <<a[7]<<endl;
}

C++: #include<iostream>
using namespace std;
int main() {
	int a[11],b;
	for(int y=0;y<10;y++){
		cin>>a[y];
	}
	for(int y=0;y<10;y++){
		for(int i=y+1;i<10;i++){
			if(a[y]<a[i]){
				b=a[y];
				a[y]=a[i];
				a[i]=b;
			}
		}
	}
	for(int y=0;y<3;y++){
		cout<<a[y]<<endl;
	}
return 0;
}

C++: //#pragma comment(linker,"/STACK:102400000,102400000")
#include<iostream>
#include<cstdlib>
#include<cstdio>
#include<algorithm>
#include<cstring>
#include<queue>
#include<cmath>
#define M 40000
using namespace std;
 typedef struct yyyy
 {
     int h;
     double s[5],t[5];
 }yyy;

double h;
double l[3],r[3];
const double pi=acos(-1);
double a[205];
yyy p[3][205];
double eps=1e-6;
int n;
typedef struct nnode
{
    double tt;
    int flag;
}node;
node as[200000];
int tim;

  void cjj(int n)
  {
      int i,j;
      for (i=1;i<=n;i++)
      for (j=1;j<=2;j++)
      {
          double k1,k2;
          double a1,a2;
          double si,co;
          double ll,h;
          double v=a[i];
          double k=v*sqrt(v*v+2*9.8*h)/9.8;
          int flag;
          k1=l[j]/k;
          k2=r[j]/k;
          if (k1>1+eps) {p[j][i].h=0;continue;}
          si=l[j]/k;

          co=sqrt(1-si*si);
          ll=sqrt(2*v*v+2*9.8*h-2*v*sqrt(v*v+2*9.8*h)*co);
          h=l[j]*9.8/ll;
          if (ll<sqrt(2*9.8*h)+eps) flag=-1;
          else flag=1;

          a1=acos(h/v)*flag;

          co=-sqrt(1-si*si);
          ll=sqrt(2*v*v+2*9.8*h-2*v*sqrt(v*v+2*9.8*h)*co);
          h=l[j]*9.8/ll;
          if (ll<sqrt(2*9.8*h)+eps) flag=-1;
          else flag=1;

          a2=acos(h/v)*flag;

          if (a1<a2) swap(a1,a2);

          if (k2>1-eps) {p[j][i].h=1;p[j][i].s[1]=a1;p[j][i].t[1]=a2;continue;}
          else
          {
              p[j][i].h=2;
              p[j][i].s[1]=a1;
              p[j][i].t[2]=a2;
          }

          si=r[j]/k;

          co=sqrt(1-si*si);
          ll=sqrt(2*v*v+2*9.8*h-2*v*sqrt(v*v+2*9.8*h)*co);
          h=r[j]*9.8/ll;
          if (ll<sqrt(2*9.8*h)+eps) flag=-1;
          else flag=1;

          a1=acos(h/v)*flag;

          co=-sqrt(1-si*si);
          ll=sqrt(2*v*v+2*9.8*h-2*v*sqrt(v*v+2*9.8*h)*co);
          h=r[j]*9.8/ll;
          if (ll<sqrt(2*9.8*h)+eps) flag=-1;
          else flag=1;

          a2=acos(h/v)*flag;

          if (a1<a2) swap(a1,a2);

          p[j][i].s[2]=a2;
          p[j][i].t[1]=a1;

      }



  }

int main()
{
        freopen("in.txt","r",stdin);
        //freopen("out.txt","w",stdout);
        int k,kk;
        int i;
        while(~scanf("%d",&n))
        {
            int c,maxx=0;
            if(n==0)break;
            scanf("%lf%lf%lf%lf%lf",&h,&l[1],&r[1],&l[2],&r[2]);
            for(i=1;i<=n;i++)
            scanf("%lf",&a[i]);

            cjj(n);
            tim=0;
            for(i=1;i<=n;i++)
            {
                a[++tim].tt
            }
        }

        return 0;
}

C++: #include<iostream>
#include<algorithm>
using namespace std;

int main(){
    int height[10];
    int i;
    for( i = 0; i < 10; i++){
        cin >> height[i];
    }
    cout << endl;
    for( i = 0; i < 10; i++){
        sort(height, height + 10);
    }
    for( i = 0; i < 10; i++){
        cout << height[i] << endl;
    }
    return 0;
}

C++: #include<bits/stdc++.h>
using namespace std;

int main(){
  vector<int> v(10);
  for(int i = 0; i < 10; i++){
    cin >> v.at(i);
  }
  sort(v.begin(), v.end(), greater<int>());
  for(int i = 0; i < 3; i++){
    cout << v.at(i) << endl;
  }
}

C++: #include<iostream>
#include<algorithm>
??
using namespace std;
??
??
int main(){
????????int a[10];
????????for(int i=0;i<10;i++){
????????????????cin>>a[i];
????????}
????????sort(a,a+10);
??
????????cout<<a[9]<<endl<<a[8]<<endl<<a[7]<<endl;
??
}

C++: #include<stdio.h>

int main(void){
    
    int MountHigh[10] = {0};
    int TopHillsThree[3] = {0};
    int ActionNum = 0;
    int MountNum = 0;
    
    //??\?????¨
    fscanf(stdin,"%d\n%d\n%d\n%d\n%d\n%d\n%d\n%d\n%d\n%d",
           &MountHigh[0],
           &MountHigh[1],
           &MountHigh[2],
           &MountHigh[3],
           &MountHigh[4],
           &MountHigh[5],
           &MountHigh[6],
           &MountHigh[7],
           &MountHigh[8],
           &MountHigh[9]);
    
    //???????????¨???
    for(ActionNum = 1; ActionNum < 10; ActionNum++){
        for(MountNum = 0; MountNum < (10 - ActionNum); MountNum++){
            if(MountHigh[MountNum] < MountHigh[MountNum + 1]){
                const int Temp = MountHigh[MountNum + 1];
                MountHigh[MountNum + 1] = MountHigh[MountNum];
                MountHigh[MountNum] = Temp;
            }
        }
    }
    
    //??£??\??¨???
    TopHillsThree[0] = MountHigh[0];
    TopHillsThree[1] = MountHigh[1];
    TopHillsThree[2] = MountHigh[2];
    
    printf("%d\n%d\n%d\n",
           TopHillsThree[0],
           TopHillsThree[1],
           TopHillsThree[2]);
    
    return(0);
}