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 <algorithm>
#include <vector>
#include <string>
#include <stack>
#include <queue>
#include <cctype>
#include <cstring>
#include <set>
#include <map>
#define rep(i, m, n) for (int i = m; i < n; i++)
#define repr(i, n) for (int i = n; i >= 0; i--)
#define ll long long
#define ull unsigned long long
#define push(a) push_back(a)
#define pop(a) pop_back(a)
#define debug(x) cout << #x << ": " << x << endl
#define SORT(v, n) sort(v, v + n);
#define VSORT(v) sort(v.begin(), v.end());
#define INF 999999999
using namespace std;
typedef pair<int, int> P;
typedef pair<ll, ll> LP;
typedef pair<int, P> PP;
typedef pair<ll, LP> LPP;

int dy[] = {0, 0, 1, -1, 0};
int dx[] = {1, -1, 0, 0, 0};

ll n, a[10]={}, b;

int main()
{
    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 <cmath>
#include <cstdio>
#include <algorithm>
#include <cstring>
using namespace std;

int a[15];
int main()
{
    ios::sync_with_stdio(false);
    cin.tie(0);

    for(int i=0;i<10;i++)
    {
        cin>>a[i];
    }
    sort(a,a+10);
    for(int i=9;i>=7;i--)
    {
        cout<<a[i]<<"\n";
    }

    return 0;
}

C++: #include <iostream>
#include<algorithm>
using namespace std;
int main() {
	int a,one=0,two=0,three=0;
	for(int i=0;i<10;i++){
		cin>>a;
		if(a>three)three=a;
		if(three>two)swap(three,two);
		if(two>one)swap(one,two);
	}
	cout<<one<<endl<<two<<endl<<three;
	return 0;
}

C++: #include "bits/stdc++.h"
#include<unordered_map>
#include<unordered_set>
#pragma warning(disable:4996)
using namespace std;
using ld = long double;
template<class T>
using Table = vector<vector<T>>;


int main() {
	vector<int>nums(10);
	for (int i = 0; i < N; ++i) {
		cin >> nums[i];
	}
	sort(nums.begin(), nums.end(), greater<int>());
	for (int i = 0; i < 3; ++i) {
		cout << nums[i] << endl;
	}
	return 0;
}

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

using namespace std;

const int N = 10;
int a[N];

int main() {
  for(int i = 0; i < N; i++) {
    scanf("%d", &a[i]);
  }
  sort(a, a+N);
  for(int i = 1; i < 4; i++) printf("%d\n", a[N-i]);
}

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

using namespace std;

int main() {
  int h[10];
  for (int i=0; i<10; ++i) {
    cin >> h[i];
  }
  sort(begin(h), end(h));
  cout << h[9] << "\n";
  cout << h[8] << "\n";
  cout << h[7] << "\n";
}

C++: #include <stdio.h>

int main(){

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

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

using namespace std;

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

    sort(m, m+10, greater<int>());

    for(int i = 0; i < 3; i++)
        cout << m[i] << 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 <cstdio>
#include <set>

int main(){
  using namespace std;
  set<int, greater<int> > mts;
  for(int i = 0; i < 10; i++){
    int tmp = 0;
    scanf("%d", &tmp);
    mts.insert(tmp);
  }
  int count = 0;
  for(int const mt : mts){
    printf("%d\n", mt);
    if(++count >= 3) break;
  }
  return 0;
}

C++: #include<iostream>

int main(){
	int a[10],i,n,p;

	for(i=0;i<10;i++){
		std::cin >> a[i];
	}for(i=0;i<9;i++){
		for(p=i+1;p<10;p++){
			if(a[i]<a[p]){
				n=a[i];
				a[i]=a[p];
				a[p]=n;
				}
			}
		}
	for(i=0;i<3;i++){
		std::cout<<a[i]<<std::endl;
		}
	return 0;
	}

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

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

int main()
{

    int a[10];

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

    for(int i=0; i<10; i++)
        for(int j=i; j<10; j++)
        {
            if(a[i]<a[j])
            {
                int temp = a[i];
                a[i] = a[j];
                a[j] = temp;
            }

        }

    for(int i=0; i<3; i++)
        cout << a[i] << " ";

    return 0;
}

C++: #include <cstdio>
#include <queue>
#include <vector>

using namespace std;


int main(){
	priority_queue<int> q;
	int self;
	for(int i=0;i<10;i++){
		scanf("%d",&self);
		q.push(self);
	}
	printf("%d\n",q.top());
	q.pop();
	printf("%d\n",q.top());
	q.pop();
	printf("%d\n",q.top());
	q.pop();
	return 0;
}

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

  for(int k=0;k<3;k++){
    for(int j=0;j<10;j++){
      if(t[k]<x[j]){
        s=t[k];
        t[k]=x[j];
        x[j]=s;
       }
     }
  }
  for(int e=0;e<3;e++){
    cout<<t[e]<<endl;
  }
return 0;
}

C++: #include<iostream>
using namespace std;
int main()
{
   int d[10],i,j,tmp;
   for(i=0;i<10;i++)
        cin >> d[10]; 
   for(i=0;i<9;i++)
     {
        for(l=i+1;j<10;j++)
          { 
             if(d[i]<d[j])
                {
                   tmp=d[i];
                   d[i]=d[j];
                   d[j]=tmp;
                }
           }
     }
    for(i=0;i<3;i++)
       cout << d[i] <<endl;
    return 0;
}

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

using namespace std;

int main(void){
	set<int, greater<int> > nums;
	for (int i=0; i<10; ++i){
		int num;
		cin >> num;
		nums.insert(num);
	}
	set<int, greater<int> >::iterator it = nums.begin();
	while (it != nums.end()){
		cout << *it << endl;
		++it;
	}

	return 0;
}

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

int main(int,char**){
	std::vector<int> vec(10);
	for(int i(0);i<10;++i) std::cin >> vec[i];
	std::sort(vec.begin(),vec.end());
	std::cout << vec[9] << std::endl<< vec[8] << std::endl<< vec[7] << std::endl;
	return 0;
}

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

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

int main()
{
	int h1 = 0, h2 = 0, h3 = 0,n1,n2;
	int hdata[10];
	for (int n = 0; n < 10; n++) {
		cin >> hdata[n];
		if (hdata[n] > h1) {
			h1 = hdata[n];
			n1 = n;
		}
	}
	for (int n = 0; n < 10; n++) {
		if (hdata[n] > h2 && n != n1) {
			h2 = hdata[n];
			n2 = n;
		}
	}
	for (int n = 0; n < 10; n++) {
		if (hdata[n] > h3 && n != n1 && n != n2)
			h3 = hdata[n];
	}

	cout << h1 << endl << h2 << endl << h3 << endl;
}

C++: #include<iostream>
using namespace std;
int main()
{
	int a,mountain[10],j,k;
	for(int i=0;i<10;i++){
		cin>>mountain[i];
	}
	for(j=0;j<10;j++){
		for(k=0;k<10-j;k++){
			if(mountain[k]<mountain[k+1]){
				a=mountain[k];
				mountain[k]=mountain[k+1];
				mountain[k+1]=a;
			}
		}
	}
	cout<<mountain[0]<<"\n"<<mountain[1]<<"\n"<<mountain[2];
	return 0;
}