Go: package main

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

func main() {
        fp := os.Stdin
        scanner := bufio.NewScanner(fp)
        var lst [3]int

        for scanner.Scan() {
                num, _ := strconv.Atoi(scanner.Text())
                if lst[0] < num {
                        lst[2] = lst[1]
                        lst[1] = lst[0]
                        lst[0] = num
                } else if lst[1] < num {
                        lst[2] = lst[1]
                        lst[1] = num
                } else if lst[2] < num {
                        lst[2] = num
                }
        }

        for _, i := range lst {
                fmt.Printf("%d\n", i)
        }
}

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

using namespace std;

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

	partial_sort( hills, hills + 3, hills+10, greater<int>() );
    
    for(int i=0;i<3;i++){
        cout << hills[i] <<endl;
    }
    
	return 0;
}

C++: #include<iostream>

int main(){

int a[10];


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

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



for(int k=0;k<10;k++){
cout<<a[0] <<a[1] <<a[2]<<endl;
}



return 0}

C++: #include<iostream>
#include<vector>
#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;
	return 0;
	
}

C++: #include <iostream>
#include <algorithm>
using namespace std;
int main(){
	int height[10];
	for(int i=0;i<10;i++){
		cin >> height[i];
	}
	sort(height,height+10,greater<int>());
	for(int i=0;i<3;i++){
		cout << height[i] << 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<<"\n";

	return 0;

}

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

int main()
{
string f;
int a=-1,b=-1,c=-1,d;
for(int i=0;i<10;i++)
{
cin>>f>>f>>f>>f>>d;
if(d>a)
{
c=b;
b=a;
a=d;
}
else
{
if(d>b)
{
c=b;
b=d;
}
else
{
if(d>c)
{
c=d;
}
}
}
}
cout<<a<<endl<<b<<endl<<c<<endl;
return 0;
}

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

int main(){

unsigned short mt_list[10];

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

unsgined short high[3] = {0};
for(int h=0; h<3; h++){
for(int i=0; i<10; i++){
if(high[h] >= mt_list[i]){
high[h] = i;
}
}
unsigned short tmp = high[h];
high[h] = mt_list[tmp];
mt_list[tmp] = 0;
}

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

return 0;
}

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

int main(){

??????vector<int> data;

    for(int i=0;i<10;i++)
    {
       int input;
       cin>>input;
       data.push_back(input);
    }
    
    sort(data.begin(),data.end(),greater<int>());
    
    for(int i=0,i<3;i++)
    {
       cout<<data[i]<<endl;
    }

    return 0;
}

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

using namespace std;

int main()
{
	deque<int> nums;

	for( int i = 0; i < 10; i++ )
	{
		int in;
		cout << "heihgt of moutain " << i+1 << "(integer)" << endl;
		cin >> in;
		nums.push_back( in );
	}
	
	
	sort( nums.begin(), nums.end(), greater<int>() );
	int cnt = 1;

	deque<int>::iterator it = nums.begin();
	while( it != nums.end() )
	{
		cout << "height of the " << cnt << "st mountain" << *it << endl;
		++it;
		cnt++;
		if( cnt == 4 ) break;
	}

	return 0;
}

C++: #include<stdio.h>

int main(void){

	int h[10]/*={1819,2003,876,2840,1723,
		           1673,3776,2848,1592,922}*/;
	
	int i,j,t;
	for(i=0;i<10;i++){
		printf("%d",i+1);
		scanf("%d",&h[i]);
	}
	for(i=0;i<9;i++)
	{
		for(j=i;j<10;j++)
		{
			if(h[i]<h[j])
			{
			   t=h[i];
			   h[i]=h[j];
			   h[j]=t;
			}
		}
	}
	for(i=0;i<3;i++)
	{
		printf("%d\n",h[i]);
	}


	return 0;
}

C++: //
//  main.cpp
//  kyougi
//
//  Created by 寺林 一旭 on 2018/08/27.
//  Copyright © 2018年 寺林 一旭. All rights reserved.
//

#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
 
    int num;
    vector<int> list;
    while(cin >> num)
    {
  
        list.push_back(num);
   
    }
    sort(list.begin(), list.end(), greater<int>());
    for(int i = 0 ; i< 3 ; i++)
    {
        cout<< list[i] <<endl;
    }
    
    
    return 0;
}

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

int Size = 10;

void ranking(const int* array) {
    int top1 = 0;
    int top2 = 0;
    int top3 = 0;
    for(int i = 0; i < Size; ++i) {
        if(array[i] > top1) {
            top3 = top2;
            top2 = top1;
            top1 = array[i];
        } else if(array[i] > top2) {
            top3 = top2;
            top2 = array[i];
        } else if(array[i] > top3) {
            top3 = array[i];
        }
    }
    cout << top1 << endl
         << top2 << endl
         << top3 << endl;
} 

int main(void) {
    int height[Size];
    
    for(int i = 0; i < Size; ++i) {
        while(true) {
            cout << "No." << i + 1 << " : " << flush;
            cin >> height[i];
            if(height[i] > 0) {
                break;
            }
        }
    }
    
    ranking(height);
}

C++: #include "bits/stdc++.h"
using namespace std;
typedef long long ll;
typedef pair<int, int> pii;
typedef pair<ll, ll> pll;
const int INF = 1e9;
const ll LINF = 1e18;
template<class S,class T> ostream& operator << (ostream& out,const pair<S,T>& o){ out << "(" << o.first << "," << o.second << ")"; return out; }
template<class T> ostream& operator << (ostream& out,const vector<T> V){ for(int i = 0; i < V.size(); i++){ out << V[i]; if(i!=V.size()-1) out << " ";} return out; }
template<class T> ostream& operator << (ostream& out,const vector<vector<T> > Mat){ for(int i = 0; i < Mat.size(); i++) { if(i != 0) out << endl; out << Mat[i];} return out; }
template<class S,class T> ostream& operator << (ostream& out,const map<S,T> mp){ out << "{ "; for(auto it = mp.begin(); it != mp.end(); it++){ out << it->first << ":" << it->second; if(mp.size()-1 != distance(mp.begin(),it)) out << ", "; } out << " }"; return out; }

/*
 <url:http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0001>
 問題文============================================================
 =================================================================
 解説=============================================================
 やるだけ
 ================================================================
 */
int main(void) {
    cin.tie(0); ios_base::sync_with_stdio(false);
    priority_queue<int> pq;
    for(int i = 0; i < 10;i++){
        int h; cin >> h; pq.push(h);
    }
    for(int i = 0; i < 3;i++){
        cout << pq.top() << endl;
        pq.pop();
    }
    return 0;
}

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

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