Go: package main

import (
	"fmt"
	"sort"
)

func main() {
	mt := make([]int, 10)

	for i := 0; i < 10; i++ {
		fmt.Scan(&mt[i])
	}

	sort.Ints(mt)
	fmt.Printf("%d\n%d\n%d\n", mt[9], mt[8], mt[7])

}

C++: #include<iostream>

using namespace std;

int main()
{
	int high[10] = { };
	int first = 0, second = 0, third = 0;
	
	for(int i = 0; i < 10; i++){
		cin >> high[i];
		
		if(first < high[i]){
			second = first;
			first = high[i];
		}
		else if(second < high[i]){
			third = second;
			second = high[i];
		}
		else if(third < high[i])
			third = high[i];
	}
	
	cout << first << endl << second << endl << third << endl;
	
	
	return 0;
}

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

int main()
{
	unsigned high[3]={};
	for(int i=0; i<10; ++i)
	{
		int n;
		cin >> n;
		if(high[0]<n)
		{
			high[0]=n;
		}
		else if(high[1]<n)
		{
			high[1]=n;
		}
		else if(high[2]<n)
		{
			high[2]=n;
		}
	}
	cout << high[0] << high[1] << high[2] << endl;
}

C++: #include<stdio.h>
int main(void)
{
	int i,j,temp,y[10];
	for(i=0;i<10;i++){
		scanf("%d",&y[i]);
	}
	for(i=0;i<10;i++){
		for(j=0;j<=10;j++){
			if(y[j]<=y[i]){
				temp=y[i];
				y[i]=y[j];
				y[j]=temp;
			}
		}
	}
	for(i=0;i<3;i++){
		printf("%d\n",y[i]);
	}
	return 0;
}

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

int main ()
{
	multiset <int> s;
	int i, num;
	for( i= 0; i < 10; i++)
	{
     cin >> num;
	 s.insert(num);
	}
	multiset <int>::iterator j ;
	j= s.end();
	for(i = 0; i < 3; i++)
	{
	  j--;
      cout << *j << endl;
	}
	return 0;
}