Go: package main

import "fmt"

func main() {
	var height int
	topHeights := [5]int{}

	for i := 0; i < 10; i++ {
		fmt.Scan(&height)

		for j := 0; j < 3; j++ {
			if topHeights[j] < height {
				topHeights[j+2] = topHeights[j+1]
				topHeights[j+1] = topHeights[j]
				topHeights[j] = height
				break
			}
		}
	}

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

C++: #include <iostream>
#include <string>
#include <cstring>
#include <fstream>
#include <algorithm>
#include <iomanip>
#include <vector>
#include <stack>
#include <queue>
#include <deque>
#include <map>
#include <list>
#include <set>
#include <cstdio>
#include <cstdlib>
#include <cmath>
#include <bitset>
#include <functional>

using namespace std;

#define FOR(i,n) 		for(int(i)=0;(i)<(int)(n);(i)++)
#define FORN(i,a,b,c) 	for(int(i)=a;i<(int)(b);i+=(c))
#define RES(x,nilai)	memset(x,nilai,sizeof(x));
#define pb              push_back
#define mp              make_pair
#define INF				1000000000

typedef long long ll;
typedef pair<int, int> ii;
typedef vector<int> vi;
typedef vector<ii> vii;

inline string IS(int a){
    char x[100];
    sprintf(x,"%d",a); string s = x;
    return s;
}

inline int SI(string a){
    char x[100]; int res;
    strcpy(x,a.c_str()); sscanf(x,"%d",&res);
    return res;
}

//==============================================

bool cmp(int x,int y) {return x>y;}

int arr[100];

int main() {
	//freopen("in.txt","r",stdin);
	//freopen("13.txt","w",stdout);
	ios_base::sync_with_stdio(false); cin.tie(NULL);
	
	for(int i =0 ;i < 10; i++) cin >> arr[i];
	sort(arr,arr+10)
	cout << arr[9] << endl << arr[8] << endl << arr[7] << endl;
		
    return 0;
}

C++: #include <iostream>
#include <algorithm>
using namespace std;
int main(){
	int num = 0;
	int mountains[10] = { 0 };
	for (int i = 0; i < 10; i++){
		cin >> mountains[i];
	}
	sort(mountains[0],mountains[9]);
	cout << mountains[0] << endl;
	cout << mountains[1] << endl;
	cout << mountains[2] << endl;
	return 0;
}

C++: #include <iostream>

using namespace std;

static const int ARRAY_NUM = 10;

class sort{
private:
	int tmp;
public:
	int* bable(int a[]);
};

int* sort::bable(int a[]){
	for(int i=0;i<ARRAY_NUM;++i){
		for(int j=ARRAY_NUM-1;j>i;--j){
			if(a[j]>a[j-1]){
				tmp    = a[j-1];
				a[j-1] = a[j];
				a[j]   = tmp;
			}
		}
	}
	return a;
}

int main(void){

	//int *array = new int [5];
	sort sort;
	int hgt_mt[10];
	int* hgt_max;

	cout << "input height of mountain" << endl;

	for(int i=0;i<10;i++){
		cin >> hgt_mt[i];
	}

	hgt_max = sort.bable(hgt_mt);

	for(int i=0;i<3;i++){
		cout << hgt_max[i] << endl;
	}

	return 0;
}

C++: #include<algorithm>
#include<iostream>
using namespace std;
int main(){
    int x[10];
    for(int i=0;i<10;++i) cin>>x[i];
    sort(x,x+10,greater<>());
    for(int i=0;i<3;++i) cout<<x[i]<<endl;
}

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

int main(){
	int i=0;
	int m[10];
	for(i=0;i<10;i++)
	{
		cin>>m[i];
		while(0>m[i]||m[i]>10000)
			cin>>m[i];

	}
	
  sort(m[0], m[9], greater<int>());
	
	cout<<m[0]<<endl<<m[1]<<endl<<m[2]<<endl;

    return 0;
}

C++: #include<stdio.h>

int main(){
	int a1 = 0, a2 = 0, a3 = 0;

	int x;
	for(int i = 0; i < 10; i++){
		scanf("%d", &x);
		if(x > a3){
			a3 = x;
		}
		if(x > a2){
			a3 = a2;
			a2 = x;
		}
		if(x > a1){
			a3 = a2;
			a2 = a1;
			a1 = x;
		}
	}

	printf("%d\n%d\n%d\n", a1, a2, a3);

	return 0;
}

C++: #include<iostream>
#include<iomanip>
#include<algorithm>
#include<cmath>
#include<cstring>
#include<stack>
#include<cstdio>
#include<queue>
#define PI 3.1415927
using namespace std;
int main() {
	int h[11];
	for (int i = 0; i < 10; i++) {
		cin >> h[i];
	}
	sort(h, h + 10);
	for (int i = 0; i < 3; i++) {
		cout << h[i] << endl;
	}
}

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

using namespace std;

int main(){
  vector<int> vi;
  for(int i=0;i<10;i++){
    int buf;
    cin >> buf;
    vi.push_back(buf);
  }

  sort(vi.begin(),vi.end());

  for(int i=1;i<=3;i++){
    cout<< vi[vi.size()-i] << endl;
  }
}

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

int main(){
	const int N = 10;
	
	int mountain[N];

	for (int i = 0; i < N; i++){
		cin >> mountain[i];
	}

	int _1st = 0;
	int _2nd = 0;
	int _3rd = 0;

	for (int i = 0; i < N; i++){
		if (mountain[i]>_1st){
			_3rd = _2nd;
			_2nd = _1st;
			_1st = mountain[i];
		}
		else if (mountain[i] > _2nd){
			_3rd = _2nd;
			_2nd = mountain[i];
		}
		else if (mountain[i] > _3rd){
			_3rd = mountain[i];
		}
	}
	cout << _1st << endl;
	cout << _2nd << endl;
	cout << _3rd << endl;

	return 0;
}

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

using namespace std;

int main(){

	int A[10];

	cin >> A[0] >> A[1] >> A[2] >> A[3] >> A[4] >> A[5] >> A[6] >> A[7] >> A[8] >> A[9];


	sort(A, A+10);

	cout << A[0] << endl;
	cout << A[1] << endl;
	cout << A[2] << 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);
	reverse(a, a + 10);
	for (int i = 0; i < 3; i++) {
		cout << a[i] << endl;
	}
}

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

using namespace std;

int data;
int mountain[10001];
int i=0;

int main(){
	while(scanf("%d",&data) != EOF){
		mountain[i] = data;
		i++;
	}

	sort(mountain, mountain + 10001);

	for(int i=0;i<3;i++){
		printf("%d\n",mountain[i]);
	}

    return 0;
}

C++: #include <iostream>
#include <string>
#include <algorithm>
#include <functional>

using namespace std;


int main()
{
	int a[10];
	for (int s=0; s <= 9; s++)
	{
		cin >> a[s];
	}
	sort(a, a + 10, greater<int>());
	cout << a[0] << endl << a[1] << endl << a[2] << endl;
	return 0;
}

C++: #include<iostream>
using namespace std;
int main(){
	int a[10],b,c;
	for(int i=0;i<10;i++){
		cin>>a[i];
	}
	for(int i=0;i<10;i++){
		for(int j=9;j>i;j--){
			if(a[j]<a[j-1]){
				b=a[j];
				a[j]=a[j-1];
				a[j-1]=b;
			}
		}
	}
	cout<<a[9]<<'\n'<<a[8]<<'\n'<<a[7]<<endl;
	return 0;
}

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

using std::cin;
int main(){
	int a[10];
	int b;
	for(int i=0;i<10;i++){
		cin >> a[i];
	}   int mou1,mou2,mou3;
			mou1=a[0];
	    for(int i=0;i<10;i++){
		
		if(mou1<a[i]){
				mou1=a[i];
				b=i;
		}
		}
		a[b]=0;
		mou2=a[0];
		 for(int i=0;i<10;i++){
		
		if(mou2<a[i]){
				mou2=a[i];
				b=i;
				
		}
		}a[b]=0;
		 mou3=a[0];
		  for(int i=0;i<10;i++){
		
		if(mou3<a[i]){
				mou3=a[i];
				b=i;
				
		}
		}
		cout<<mou1<<"\n"<<mou2<<"\n"<<mou3;

	return 0;

}

C++: #include <iostream>
#include <queue>
#include <vector>
using namespace std;
 
int main()
{
    priority_queue< int,vector<int>,less<int> > que;
    int in;
 
    for(int i = 0; i < 10; i++){
        cin >> in;
        que.push(in);
    }
 
 
    for(int j = 0; j < 3; j++){
        cout << que.top() << '\n';
        que.pop();
    }
 
    return 0;
}

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

int main()
{
    std::multiset< int, std::greater<int> > s;
    for (int i = 0; i < 10; ++i) {
        int h;
        std::cin >> h;
        s.insert(h);
    }
    std::multiset< int, std::greater<int> >::iterator it = s.begin();
    for (int i = 0; i < 3; ++i)
        std::cout << *it++ << std::endl;
}