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>
    using namespace std;
     
    int main() {
    int a=0,b=0,c=0,e;
    for(int i=0; i<10; i++){
    cin >> e;
    if(e>=a){
    c=b;
    b=a;
    a=e;
    }
    else if (a>e && e>=b){
    c=b;
    b=e;
    }
    else if (b>e && e>=c){
    c=e;
    }
    }
    cout<<a<<endl;
    cout<<b<<endl;
    cout<<c<<endl;
    return 0;
    }

C++: #include<iostream>
int main() {
	int n[10];
	for (int i = 0;i < 10;++i){
		std::cin>>n[i];
	}
	for (int i = 0;i < 10;++i) {
		for (int j = 0;j < 10;++j) {
			if (i < j) {
				if (n[i]>n[j]) {
					int a = n[i];
					n[i] = n[j];
					n[j] = a;
				}
			}
		}
	}
	std::cout << n[9] << std::endl;
	std::cout << n[8] << std::endl;
	std::cout << n[7] << std::endl;
	return 0;
}

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

int main()
{
    using namespace std;
    int v1, v2, v3, input;
    v1 = v2 = v3 = 0;
    while (cin >> input) {
        if (v1 < input) {
            v3 = v2; v2 = v1; v1 = input;
        } else if (v2 < input) {
            v3 = v2; v2 = input;
        } else if (v3 < input) {
            v3 = input;
        }
    }
    cout <<
    v1 << endl <<
    v2 << endl <<
    v3 << endl;
}

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

int main()
{
	unsigned length[10]={};
	for(int i=0; i<10; ++i)
	{
		cin >> length[i];
	}
	sort(begin(length), end(length), greater<unsigned>());
	cout << length[0] << '\n' << length[1] << '\n' << length[2] << '\n';
}

C++: 
/* vo01.cpp */
#include <iostream>
#include <queue>
using namespace std;

int main()
{
	priority_queue<int> que;
	int h;

	for (int i = 0; i < 10; ++i) { cin >> h; que.push(h); }

	int c = 0;
	while (c < 3) {
		cout << que.top() << '\n'; que.pop();
		c++;
	}

	return 0;
}

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

using namespace std;

int main(void)
{
	int mt[10];

	

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


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

	return 0;
}

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

C++: #include<cstdio>
#include<algorithm>
using namespace std;
int main(){
  int a[10];
  for(int i=0;i<10;i++)
    scanf("%d", &a[i]);
  sort(a[0],a[1]);
  for(int i=0;i<3;i++)
    printf("%d\n",a[i]);
  return 0;
}

C++: #include<bits/stdc++.h>

using namespace std;

int x[1000];
int temp[1000];
void MargeSort(int x[],int left,int right){
    int i,j,mid,k;
    if(left>=right)return;
    mid=(left+right)/2;
    MargeSort(x,left,mid);
    MargeSort(x,mid+1,right);
    for(i=left;i<=mid;i++){
        temp[i]=x[i];
    }
    for(i=mid+1,j=right;i<=right;i++,j--){
        temp[i]=x[j];
    }
    i=left; j=right;
    for(k=left;k<=right;k++){
        if(temp[i]>=temp[j])x[k]=temp[i++];
        else x[k]=temp[j--];
    }
}

int main(){
    int num=10;
    for(int i=0;i<num;i++){
        cin>>x[i];
    }
    MargeSort(x,0,num-1);
    for(int i=0;i<3;i++){
        cout<<x[i]<<endl;
    }
    return 0;
}

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);
	cout << a[9]<<endl;
	cout << a[8]<<endl;
	cout << a[7]<<endl;
	return 0;
}

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

using namespace std;

int main(void){
	int count = 0;
	int arr[10];
	cin >> arr[0] >> arr[1] >> arr[2] >> arr[3] >> arr[4] >> arr[5] >> arr[6] >> arr[7] >> arr[8] >> arr[9];
	set<int, greater<int> > nums;
	for (int i=0; i<10; ++i){
		nums.insert(arr[i]);
	}
	set<int, greater<int> >::iterator it = nums.begin();
	int n = 0;
	while (it != nums.end() && (n<3)){
		cout << *it << endl;
		++it;
		++n;
	}

	return 0;
}

C++: #include<iostream>
#include<string>
#include<algorithm>
#include<vector>
#include<cstdio>
#include<cstring>
using namespace std;
#define rep(i,n) for(int i=0;i<n;i++)
#define REP(n) rep(i,n)
#define all(n) n.begin(),n.end()
#define foreach(it,c) for(typeof(c.begin()) it=c.begin();it!=c.end();++it)

int main()
{
    vector<int> h; 
    int t;
    REP(10){ cin >> t; h.push_back(t);}
    sort(all(h));
    cout << h[9] << endl;
    cout << h[8] << endl;
    cout << h[7] << endl;

    return 0;
}

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

int main()
{
  int high;
  int temp1,temp2;
  int first=0,second=0,third=0;
  
  for(int i=0;i<10;i++){
    cout<<"山の高さ"<<i<<":";
    cin>>high;
    if(high>first){
      temp1=first;
      first=high;
      temp2=second;
      second=temp1;
      third=temp2;
    } else if (first>=high && high>second){
      temp2=second;
      second=high;
      third=temp2;
    } else if (second>=high && high>third){
      third=high;
    }
  }

  cout<<"1番目に高い山の高さ:"<<first<<endl;
  cout<<"2番目に高い山の高さ:"<<second<<endl;
  cout<<"3番目に高い山の高さ:"<<third<<endl;
  
  return 0;
}

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

int main() {
    vector<int> mountain;
    for(int i = 0; i < 10; i++){
      cin >> mountain.at(i);
    }
    sort(mountain.begin(), mountain.end());
    reverse(mountain.begin(), mountain.end());

    for (int i = 0; i < 3; i++) {
        cout << mountain.at(i) << endl;
    }
}

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

int main()
{
  int h1, h2, h3, n;
  h1 = h2 = h3 = 0;
  for(int i = 0; i < 10; i++){
    cin >> n;
    h1 = (i == 0) ? n : h1;
    h2 = (i == 1) ? n : h2;
    h3 = (i == 2) ? n : h3;
    if(i > 2){
      if(n > h1){
	h3 = h2;
	h2 = h1;
	h1 = n;
      }else{
	if(n > h2){
	  h3 = h2;
	  h2 = n;
	}else{
	  if(n > h3){
	    h3 = n;
	  }
	}
      }
    }
  }
  cout << h1 << endl << h2 << endl << h3 << endl;
}

C++: #include<bits/stdc++.h>
using namespace std;
int h[10];
int main(){
    for(int i=0;i<10;i++)cin>>h[i];
    sort(h,h+10,greater<int>());
    for(int i=0;i<3;i++){cout<<h[i]<<endl;}
}

C++: import java.io.*;
import java.util.*;
  
class Main{
public static void main(String[] args) throws IOException{
BufferedReader br=new BufferedReader(new InutStreamReader(System.in));
int n=10;
int[] k=new int[n];
for(int i=0;i<n;i++){
k[i]=Integer.parseInt(br.readLine());
}
Arrays.sort(k);
for(int i=0;i<3;i++){
System.out.println(k[n-i-1]);
}
}
}

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

using namespace std;

int main(){

	int A[10];
	int i;

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


	sort(A, A+10);

	cout << A[9] << endl;
	cout << A[8] << endl;
	cout << A[7] << endl;
}

C++: #include <iostream>
using namespace std;
#define N 10
int max(int x[], int n)
{
	int i,j;
	j=0;
	for(i=1; i<n; i++)
		if(x[i]<x[j]) j=i;
		return j;
}
void sel_sort(int x[], int n)
{
	int i, j;
	for(i=n; i>1; i--)
		{ j=max(x,i);   int temp=x[j];   x[j]=x[i-1];  x[i-1]=temp; }
	}
void main()
{
	int a[N], i;
	while(cin>>a[0])
	{
	for(i=1; i<N; i++)
		cin>>a[i];
	sel_sort(a, N);
	for(i=0; i<3; i++)
		cout<<a[i]<<endl;
	}
	
}

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

int main() {
	int h[10],max;
	for (int i = 0; i < 10; i++) {
		cin >> h[i];
	}
	
	for (int j = 0; j < 3; j++) {
		max = 0;
		for (int i = 1; i < 10; i++) {
			if (max < h[i])
				max = i;
		}
		cout << h[max] << "\n";
		h[max] = -1;
	}
	return 0;
}