Go: package main

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

func main() {
	mountHeightList := make([]int64, 10)
	scanner := bufio.NewScanner(os.Stdin)
	for i := 0; i < 10; i++ {
		scanner.Scan()
		mountHeightList[i], _ = strconv.ParseInt(scanner.Text(), 10, 64)
	}

	sort.Slice(mountHeightList, func(i, j int) bool { return mountHeightList[i] > mountHeightList[j] })

	for i := 0; i < 3; i++ {
		fmt.Printf("%d\n", mountHeightList[i])
	}
}

C++: #include<iostream>
#include<string>
#include<vector>
#include<map>
using namespace std;
template <class YT>
class Array
{
	vector<YT> data;
public:
	Array()
	{
	}
	void add(YT value)
	{
		data.push_back(value);
	}
	void add()
	{
		YT p;
		data.push_back(p);
	}
	YT &operator[](int index)
	{
		if(index>=data.size())
		{
			YT element;
			data.push_back(element);
		}
		return data[index];
	}
	int size()
	{
		return data.size();
	}
	void sort()
	{
		for(int i=0;i<data.size()-1;i++)
			for(int j=i+1;j<data.size();j++)
				if(data[i]>data[j])
				{
					YT p=data[i];
					data[i]=data[j];
					data[j]=p;
				}
	}
};
int main()
{
	int n=10,p=0;
	Array<int> mount;
	for(int i=0;i<n;i++)
	{
		cin>>p;
		mount.add(p);
	}
	mount.sort();
	cout<<mount[mount.size()-1]<<endl;
	cout<<mount[mount.size()-2]<<endl;
	cout<<mount[mount.size()-3]<<endl;
	return 0;
}

C++: #include <cstdio>
#include <algorithm>
int main()
{
        int hight[10];
        int c;
        for(c=0;c<10;c++)
        {
                scanf("%d",&hight[c]);
        }

        int i,j,k;

        for(i=0;i<10;i++)
        {

                for(j=0;j<9;j++)
                {
                        if(hight[j]<hight[j+1])
                                {
                                k=hight[j];
                                hight[j]=hight[j+1];
                                hight[j+1]=k;
                                }
                }
        }

        printf("%d\n%d\n%d\n",hight[0],hight[1],hight[2]);

        return 0;

}

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

int main(void)
{
    vector <int> a;
    int b;

    for (int i = 0; i < 10; i++){
    cin>>b;
a.push_back(b);
}
sort(a.begin(), a.end());
cout << a[0] << endl << a[1] << endl << a[2] << endl;

return 0;
}

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

int main(){
  vector<int> h(10);

  for(int i=0;i<10;++i) cin>>h[i];

  sort(begin(v),end(v),greater<int>());

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

C++: #include<bits/stdc++.h>
using namespace std;
int ma1,ma2,ma3,a[9],i,j,c;
int main(){
	for(i=0;i<10;i++){
		cin>>a[i];
	}
	while(c<=9){
	     for(j=9;j>=1;j--){
		     if(a[j]<a[j-1]){
			    swap(a[j],a[j-1]);
		      }
		 }
		  c++;
		  j=9;
	 }
	 cout<<a[0]<<endl;
	 cout<<a[1]<<endl;
	 cout<<a[2]<<endl;
 }

C++: #include <iostream>
#define N 10

using namespace std;

void swap(int& a, int& b){
	int tmp = a;
	a = b;
	b = tmp;
}

void bubble_sort(int mountain[N]){
	for (int i=(N-1); i>0; --i){
		for (int j=i; j>0; --j){
			if (mountain[j-1] < mountain[j]){
				swap(mountain[j-1], mountain[j]);
			}
		}
	}
}

int main(void){
	int mountain[N];
	for (int i=0; i<N; ++i){
		int tmp;
		do{
			cin >> tmp;
		}while ((tmp<0) || (10000 < tmp));
		mountain[i] = tmp;
	}
	bubble_sort(mountain);
	//cout << "output" << endl;
	for (int i=0; i<3; ++i){
		cout << mountain[i] << endl;
	}
	return 0;
}

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

int main()
{
  std::vector<int> hills;
  int temp;
  while(std::cin >> temp) {
    hills.push_back(temp);
  }
  std::sort(hills.begin(), hills.end());

  auto it = hills.rbegin();
  for(int i = 0; i < 3; ++i) {
    std::cout << *it << std::endl;
    it++;
  }
}

C++: #include<cstdio>
#include<deque>
#include<algorithm>
using namespace std;
main(){
	int n,i;
	deque<int>h;
	while(~scanf("%d",&n))
		h.push_back(n);
	sort(h.begin(),h.end());
	for(i=9;i>6;)
		printf("%d\n",h[i--]);
}

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

int main(){
	int H[10];
	
	for(int i = 0; i < 10; i++){
		scanf("%d", H + i);
	}
	
	sort(H, H + 10);
	
	for(int i = 1; i <= 3; i++){
		printf("%d\n", H[10 - i]);
	}
	
	return 0;
}

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

int main() {
	ios :: sync_with_stdio(false);
	int a[10];
	for(int i = 0; i < 10; i ++)
		cin >> a[i];
	sort(a, a + 10, greater<int>());
	for(int i = 0; i < 3; i ++)
		cout << a[i] << '\n';
	return 0;
}

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

int main(){
	int a =0,b=0,c=0;
	int t = 0;
	int mid = 0;
	for(int i =0;i < 10; i++){
		cin >> t;
		if(t > a){
			mid = t;
			t = a; 
			a = mid;
		}
		if(t > b){
			mid = t;
			t = b; 
			b = mid;
		}
		if(t > c){
			mid = t;
			t = c; 
			c = mid;
		}
	}
	cout <<a<<endl;
	cout <<b<<endl;
	cout <<c<<endl;
    return 0;
}

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

int main() {
	int i, j, a[10] = {0}, temp;
	for (i = 0; i < 10; i++) {
		cin >> a[i];
	}
	for (i = 0; i < 10; i++) {
		for(j = 0; j < 10; j++) {
			if (a[j] > a[i]) {
				temp = a[j];
				a[j] = a[i];
				a[i] = a[j];
			}
		}
	}
	for (i = 9; i > 6; i--) {
		cout << a[i] << endl;
	}
	return 0;
}

C++: #include <stdio.h>

int main(void) {
	int d,m1,m2,m3,i;
	m1=0;
	m2=0;
	m3=0;
	for(i=0;i<10;i++);{
		scanf("%d",&d);
		if(m1<d){
			m1=d;
		}
		else if(m2<d){
			m2=d;
		}
		else if(m3<d){
			m3=d;
		}
	}
	printf("???????????????????±±?????????%d\n",m1);
	printf("???????????????????±±?????????%d\n",m2);
	printf("???????????????????±±?????????%d\n",m3);
	
	return 0;
}

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

void descending()
{
    int mountain;
    int count[10];
    
    for(int i=0; i<10; i++)
    {
        cin>>mountain;
        count[i]= mountain;
    }
    
     for (int i=0; i<9; i++)    
    {
          for(int j=(i+1); j<10; j++)   
         {
                if (count[i] < count[j])          
               {
                        int temp = count[i];          //swap
                        count[i] = count[j];
                        count[j] = temp;
               }
          }
     }
    
    for(int i=0; i<3; i++)
    {
        cout<<count[i]<<endl;
    }
    
    return;
}


int main(){

    descending();
    return 0;
}

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

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

  sort(h, h+10);

  cout<<h[9]<<h[8]<<h[7]<<endl;
  return 0;
}

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

int main()
{
    int i,j,arr[11];

    for(i=0;i<10;++i)
        scanf("%d",&arr[i]);

    sort(arr,arr+10);

    for(i=9;i>=7;--i)
        printf("%d\n",arr[i]);
    return 0;
}

C++: #include<stdio.h>

int main()
{
  int i;
  int a[10];
  int top1 = 0,top2 = 0,top3 = 0;

  for(i=0;i<10;i++){
    scanf("%d",&a[i]);

    if(top1<a[i]){
      top1 = a[i];
    }
  }
  for(i=0;i<10;i++){
    if(top2<a[i] && a[i]<top1){
      top2 = a[i];
    }
  }
  for(i=0;i<10;i++){
    if(top3<a[i] && a[i]<top2){
      top3 = a[i];
    }
  }


  printf("%d\n",top1);
  printf("%d\n",top2);
  printf("%d\n",top3);
  return 0;
}

C++: #include<iostream>
using namespace std;
int main(){
  int a;
  int x=0;
  int y=0;
  int z=0;
  for(int i=1;i<=10;i++){
    cin >> a;
    if(a>=x){
      x=a;
    }else if(y<=a<=x){
      y=a;
    }else if(z<=a<=y){
      z=a;
    }
  }
  cout << x << endl;
  cout << y << endl;
  cout << z << endl;
}

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

int main(int argc, char *argv[]){
  int n;
  vector<int> a;
  while(cin >> n){
    a.push_back(-n);
  }
  sort(a.begin(), a.end());
  std::cout << -a[0] << std::endl;
  std::cout << -a[1] << std::endl;
  std::cout << -a[2] << std::endl;
  return 0;
}