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 <queue>

int main(void) {
    std::priority_queue<u_int> heights;
    //??\???
    for (u_int h, i = 0; i < 10; ++i) {
        std::cin >> h;
        heights.push(h);
    }
	//??????
    for (u_int i = 0; i < 3; ++i) {
        std::cout << heights.top() << std::endl;
        heights.pop();
    }
    return 0;
}

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

using namespace std;

int main()
{
	int buf;
	priority_queue<int> qu;

	for ( int i = 0; i < 10; i++ )
	{
		cin >> buf;
		qu.push( buf );
	}
	putchar('\n');

	for ( int i = 0; i < 3; i++ )
	{
		printf("%d\n", qu.top() );
		qu.pop();
	}

	return 0;
}

C++: #include <algorithm>
#include <vector>
#include <math.h>
#include <stdio.h>
#include <cctype>
#include <iostream>
#include <set>
#include <string>
#include <queue>
#include <map>
using namespace std;
int size(string x){
	string::size_type size=x.size();
	return size;
}
#define fu(l,k) for(int i=l;i<k;i++)
#define fd(l,k) for(int i=l;i>k;i--)
#define fi first
#define se second
typedef  vector<string> vs;
typedef  vector<int> vi;
double pi(){
	return M_PI;
}
typedef set<int> set_i;
typedef set<string> set_s;
int main(){
	vi a(10,0);
	fu(0,10){
		cin>>a[i];
	}
	sort(a.rbegin(), a.rend());
	fu(0,3){
		cout<<a[i]<<endl;
	}
}

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

#define FOR(i,a,b) for(long long int i=(a);i<(b);i++)
#define REP(i,n) for(long long int i=0;i<(n);i++)
#define ALL(s) (s).begin(),(s).end()

#define PI 3.14159265358479

typedef long long int ll;
typedef vector<long long int> vi;

int main(){
	vi v;
	ll m;
	REP(i, 10){
		cin >> m;
		v.push_back(m);
	}
	sort(ALL(v));
	REP(i, 3){
		cout << v[9-i] << "\n";
	}
	return 0;
}

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

using namespace std;

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

C++: #include <iostream>
#include <stdlib.h>

using namespace std;

int compare_int(const void *a, const void *b)
{return *(int*)b - *(int*)a;}

int main(){

	int data[11];
	int i;

	for (i = 0; i < 10; i++) cin >> data[i];
	qsort(data, 10, sizeof(int), compare_int);
	for (i = 0; i < 3; i++) {
		cout << data[i] << endl;
	}
	cin >> i;
}

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

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

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

int main(){
    vecctor<int> v;
    int num;
    for(int i = 0;i<10;i++){
        cin>>num;
        v.push_back(num);
    }

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


    for(int i = 0;i<3;i++)
        cout<<v.at(i);
    return 0;
}

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

int main() {
    std::set<int> s = {1819
,2003
,876
,2840
,1723
,1673
,3776
,2848
,1592
,922};
    auto itr = s.end();
    --itr;
    std::cout << *itr << std::endl;
    --itr;
    std::cout << *itr << std::endl;
    --itr;
    std::cout << *itr << std::endl;
    return 0;
}

C++: #include<stdio.h>
nit mian(void)
{
	int i,j,n[11]
	for(i=0;i<10;i++){
		scanf("%d",n[i]);
	}
	for(i=0;i<10;i++){
		for(j=0;j<=10;j++){
			if(n[j]<=n[i]){
				w=n[i];
				n[i]=n[j];
				n[j]=w;
			}
		}
	}
	for(i=0;i<3;i++){
		printf("%d\n",y[i]);
	}
	return 0;
}

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

using namespace std;

void inputData(vector<string>& data_set) {
	string buffer;
	while(getline(std::cin,buffer))
		data_set.push_back(buffer);
}

template <class T>
T convertStringToNumber(const string& str) {
	stringstream ss;
	T ret;

	ss << str;
	ss >> ret;

	return ret;
}


void doAllProcess() {
	vector<string> buffer;
	vector<int> data_set;

	inputData(buffer);

	data_set.resize(buffer.size());
	for(int i = 0; i < buffer.size(); ++i)
		data_set[i] = convertStringToNumber<int>(buffer[i]);

	sort(data_set.begin(), data_set.end(), [](int n1, int n2){ return n1>=n2; });

	std::cout << data_set[0] << std::endl;
	std::cout << data_set[1] << std::endl;
	std::cout << data_set[2] << std::endl;
}


int main() {
	doAllProcess();

	return 0;
}

C++: arr = []
for cnt in 0...10
  arr.push(gets.chomp.to_i())
end

arr.sort!.reverse!

for cnt in 0...3
  puts(arr[cnt])
end

C++: #include<stdio.h>

int main(){
    int i;
    int input;
    int height[10];
    for (i = 0; i < 10; i++){
        scanf("%d", &input);
        height[i] = input;
    }

    for (i = 0; i < 10; i++)
        printf("%d\n", height[i]);

    int max1 = 0;
    for(i = 0; i < 10; i++)
        if (height[i] >= max1)
            max1 = height[i];

    int max2 = 0;
    for(i = 0; i < 10; i++)
        if (max1 >= height[i] >= max2)
            max2 = height[i];

    int max3 = 0;
    for(i = 0; i < 10; i++){
        if (max2 >= height[i] >= max3)
            max3 = height[i];
    }

    printf("%d\n", max1);
    printf("%d\n", max2);
    printf("%d\n", max3);

    return 0;
}

C++: #include <iostream>

int main() {
	
	int first, second, third;
	first = second = third = 0;
	
	for(int i=0; i<10; i++) {
		int t;
		std::cin >> t;
		
		if(first < t) {
			third = second;
			second = first;
			first = t;
		} else if(second < t) {
			third = second;
			second = t;
		} else if(third < t) {
			third = t;
		}
	}
	std::cout << first << std::endl;
	std::cout << second << std::endl;
	std::cout << third << std::endl;
	
	return 0;
}

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

int main()
{
    std::set<int, std::greater<int>> s;
    for (int i = 0; i < 10; ++i) {
        int h;
        std::cin >> h;
        s.insert(h);
    }
    std::set<int, std::greater<int>>::iterator it = s.begin();
    for (int i = 0; i < 3; ++i)
        std::cout << *it++ << std::endl;
}

C++: #include <stdio.h> 
using namespace std; 
int main(){ 
int count[10001],
tmp,num=3; 
for(int i=0;i<10001;i++)
count[i]=0;
 for(int i=0;i<10;i++){ 
scanf("%d",&tmp);
 count[tmp]++; } 
for(int i=10000;i>=0&&num>0;i--){
 if(count[i]>0){ 
for(int k=0;k<count[i]&&num>0;k++){
 printf("%d\n",i);
 num--;
 } 
} 
} 
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);

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

	return 0;
}

C++: #include<iostream>
using namespace std;
int main(){

    int m[10], temp;
    for(int i = 0; i < 10; i++)
        cin >> m[i];

    for(int i = 0; i < 4; i++){
        for(int j = i + 1; j < 10; j++){
            if(m[i] < m[j]){
                temp = m[i];
                m[i] = m[j];
                m[j] = temp;
            }
        }
    cout << m[i] << endl;
    }
}