Go: package main

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

var (
	n  = 10
	sc = bufio.NewScanner(os.Stdin)
)

func main() {
	heights := make([]int, n, n)
	for i := 0; i < n; i++ {
		sc.Scan()
		heights[i], _ = strconv.Atoi(sc.Text())
	}
	sort.Sort(sort.Reverse(sort.IntSlice(heights)))

	for i := 0; i < 3; i++ {
		fmt.Println(heights[i])
	}
}

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);
}

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

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

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

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

	for(int i=9;i>6;--i){
		cout << tall[i] << endl;
	}

	return 0;
}

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

using namespace std;

int main()
{
	int mon[10];
	for(int i = 0;i <10; i++){
		cin >> mon[i];
	}
	
	int first = 0;
	for(int i = 0; i < 10; i++){
		if(first < mon[i]) first = mon[i];
	}
	
	int second = 0;
	for(int i = 0; i < 10; i++){
		if(second < mon[i] && mon[i] != first) second = mon[i];
	}
	
	int third = 0;
	for(int i = 0; i < 10; i++){
		if(third < mon[i] && mon[i] != first && mon[i] != second) third = mon[i];
	}
	
	printf("%d\n%d\n%d\n", first, second, third);
	
	return 0;
}

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

using namespace std;
int main() {
	vector<int> v;
	for(int i = 0; i < 10; ++i) {
		int n;
		cin >> n;
		v.push_back(n);
	}

	partial_sort(v.begin(), v.begin() + 3, v.end()
		, [](const int& x, const int& y) { return x > y;});
	
	for_each(v.begin(), v.begin() + 3, [](int x) {
		cout << x << endl;
	});
}