Go: package main

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

var rdr = bufio.NewReaderSize(os.Stdin, 1000000)

func readLine() string {
	buf := make([]byte, 0, 1000000)
	for {
		l, p, e := rdr.ReadLine()
		if e != nil {
			panic(e)
		}
		buf = append(buf, l...)
		if !p {
			break
		}
	}
	return string(buf)
}

func toInt(str string) int {
	n, _ := strconv.Atoi(str)
	return n
}

func main() {
	lst := make([]int, 0)
	for i := 0; i < 10; i++ {
		lst = append(lst, toInt(readLine()))
	}
	sort.Ints(lst)
	for i := 9; i > 6; i-- {
		fmt.Println(lst[i])
	}
}

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

using namespace std;

int main(void){
	vector<int> table;

	for(int hight; cin >> hight; table.push_back(hight));

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

	for(int i = 9; i > 6; i --) cout << table[i] << endl;

	return 0;
}

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

int main () {
    int i, m1,m2,m3,h[10];
    for(i=0;i<10;i++)
        cin >> h[i];
    for(i=0;i<10;i++) {
        if(h[i]>=m1) {m3=m2;m2=m1;m1=h[i];}
        else if(h[i]<m1&&h[i]>=m2) {m3=m2;m2=h[i];}
        else if(h[i]<m2&&h[i]>=m3) {m3=h[i];}
    }
    cout << m1 << endl;
    cout << m2 << endl;
    cout << m3 << endl;
}

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

int main(void)
{
    int a;
    int b[3];
    for (int i = 0; i < 10; i++)
    {
        cin >> a;
        if(a>=b[0])
        {
            b[2] = b[1];
            b[1] = b[0];
            b[0] = a;
        }
        else if(a>=b[1])
        {
            b[2] = b[1];
            b[1] = a;
        }
        else if(a>=b[2])
        {
            b[2] = a;
        }

    }

    for (int i = 0; i < 3; i++)
    {
        cout << b[i] << "\n";
    }
}

C++: #include <iostream>

using namespace std;


int main(){

int a[11],max1,max2,max3;

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

		while (true){ 
		cout << "山の高さ" << i+1 << "（整数）" ;			
		cin >> a[i];
		if ((cin.good() == 1) && (a[i] >= 0) && (a[i] <= 10000)) {
			break;
		}
		}	
	}
	max1 = a[0];

	for (i=1; i<10; i++){
		if (max1 < a[i]){
			swap (max1,a[i]);
		}
	}
	max2 = a[1];

	for (i=2; i<10; i++){
		if (max2 < a[i]){
			swap (max2,a[i]);
		}
	}
	max3 = a[2];

	for (i=3; i<10; i++){
		if (max3 < a[i]){
			swap (max3,a[i]);
		}
	}


		cout << max1 << endl;
		cout << max2 << endl;
		cout << max3 << endl;
		

return 0;
	}

C++: #include <stdio.h>
#include <algorithm>
#include <functional>

using namespace std;

int main() {
    int input[10];
    for (int i = 0; i < 10; i++) {
        scanf("%d", &input[i]);
    }
    sort(input, input+10, greater<int>());
    for (int i = 0; i < 3; i++) {
        printf("%d\n", input[i]);
    }
}

C++: #include<iostream>
using namespace std;
int main(){
	int t1,t2,t3,T;
	for(int i;i<10;i++){
		cin>>T;
		if(T>=t1){
			t3=t2;
			t2=t1;
			t1=T;
		}
		else if(T>=t2){
			t3=t2;
			t2=T;
		}
		else if(T>=t3){
			t3=T;
		}
	}
	cout<<t1<<endl<<t2<<endl<<t3;
	return 0;
}

C++: #include<iostream>
#include<vector>
int main(){
	int a=0;
	std::vector<int> vec(10);
	for(int i=0;i<10;i++){
		std::cin>>vec[i];
	}
	
	while(1){
		bool f=true;
		for(int i=0;i<9;i++){
			if(vec[i]<vec[i+1]){
				a=vec[i];
				vec[i]=vec[i+1];
				vec[i+1]=a;
				a=0;
				f=false;
			}
		}
		if(f)break;
	}
	std::cout<<vec[0]<<std::endl<<vec[1]<<std::endl<<vec[2]<<std::endl;
	
	return 0;
}

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

int main(){
	int nyuryoku,high=0,low=0,middle=0,flag=0;
	
	for(int i=0;i<10;i++){
	cin>>nyuryoku;
	if(flag==0){
	high = nyuryoku;
	flag++;
	}else{
	if(nyuryoku>=low){
		if(nyuryoku>=middle){
			if(nyuryoku>=high){
				high = nyuryoku;
			}else
				middle = nyuryoku;
			}else
				low = nyuryoku;
		}
		}
	}
	cout<<high<<endl;
	cout<<middle<<endl;
	cout<<low<<endl;
return 0;
}

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

int main()
{
  int h,f=-1,s=-1,t=-1;
  
  for(int i=0;i<10;i++){
    cin >> h;
    if(h>f){
      t=s;
      s=f;
      f=h;
    }else if(h>s){
      t=s;
      s=h;
    }else if(h>t){
      t=h;
    }
  }
  cout << f << endl << s << endl << t << endl;
  return 0;
}

C++: #include <iostream>

int main()
{
  int best[] = {0, 0, 0};
  int t;
  for(int i = 0; i < 10; ++i)
  {
    std::cin << t << std::endl;
    for(int j = 0; j < 3; ++j)
    {
      if(t > best[j])
      {
        for(int k = 3; k > j; --k)
          best[k] = best[k - 1];
        best[j] = t;
      }
    }
    for(int i = 0; i < 3; ++i)
      std::cout << best[j] << std::endl;
  }
  return 0;
}

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

using namespace std;

int main(){
    int max_heignt[3] = {0};
    for(int i=0; i<10; i++){
        int height;
        int min_temp;
        int max_tmp;
        cin >> height;

        max_heignt[0] = max(height, max_heignt[0]);
        max_tmp = max(max_heignt[0], max_heignt[1]);
        for(int j=0;j<2;j++){
            max_tmp = max(max_heignt[j], max_heignt[j+1]);
            min_temp = min(max_heignt[j], max_heignt[j+1]);
            max_heignt[j] = min_temp;
            max_heignt[j+1] = max_tmp;
        }
    }

    for (int i = 3; i > 0; i--){
        cout << max_heignt[i-1] << endl;
    }
    
    return 0;
}

C++: #include <stdio.h>

int main(void)
{
	int m[10];
	int max1 = 0, max2 = 0, max3 = 0;
	int i;
	
	for (i = 0; i < 10; i++){
		scanf("%d", &m[i]);
	}
	
	for (i = 0; i < 10; i++){
		if (max1 <= m[i]){
			/*max1 = m[i];
			max2 = max1;*/
			max3 = max2;
			max2 = max1;
			max1 = m[i];
			
		}
	}
	
	printf("%d\n%d\n%d\n", max1, max2, max3);
	
	return (0);
}

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

using namespace std;

int main() {
    vector<int> container;

    string buff;
    for(int i = 0; i < 10; ++i){
        getline(cin, buff);
        stringstream ss;
        ss << buff;

        int height = 0;
        ss >> height;

        container.push_back(height);
    }

    sort(
         container.begin(),
         container.end(),
         [](int n1, int n2) -> bool {
            return (n1 > n2);
         }
    );

    for(int i = 0; i < 3; ++i)
        cout << container[i] << endl;

    return 0;
}

C++: #include<iostream>
#include<string>
#include<cmath>
#include<queue>
#include<map>
#include<set>
#include<list>
#include<iomanip>
#include<vector>
#include<functional>
#include<algorithm>
#include<cstdio>
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);
	cout<<a[0]<<endl;
	cout<<a[1]<<endl;
	cout<<a[2]<<endl;
}

C++: #include <stdio.h>

int main(){

	int a[10];
	int temp = 0;

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

	for(int i=0; i<9; i++){
		for(int j=9; j>i; j--){
			if(a[j-1] < a[j]){
				temp = a[j];
				a[j] = a[j-1];
				a[j-1] = temp;
			}
		}
	}

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

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

int main() {
  vector<int> h(10);
  for (int i = 0; i < 10; i++) {
    cin >> h[i];
  }
  sort(begin(h), end(h), greater<int>());
  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> input;
    for (int i = 0; i < 10; i++) {
        int tmp;
        cin >> tmp;
        input.push_back(tmp);
    }
    sort(input.rbegin(), input.rend());
    for (int i = 0; i < 3; i++) {
        cout << input[i] << endl;
    }
}

C++: #include<stdio.h>

int main(){
  int n[10];
  int i;
  for(i=0;i<10;i++){
    scanf("%d", &n[i]);
  }
  int max1=0;
  int i1=0;
  int max2=0;
  int i2=0;
  int max3=0;
  int i3=0;
  
  for(i=0;i<10;i++){
    if (max1 < n[i])
      {max1 = n[i];i1=i;}
  }
   
  for(i=0;i<10;i++){
    if (max2 < n[i] && i!=i1)
      {max2 = n[i];i2=i;}
  }

  for(i=0;i<10;i++){
    if (max3 < n[i] && i!=i1 && i!=i2)
      {max3 = n[i];i3=i;}
  }

  //printf("%d\n%d\n%d\n", i1, i2, i3);
  printf("%d\n%d\n%d\n", max1, max2, max3);
}