Go: package main

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

var sc = bufio.NewScanner(os.Stdin)

func main() {
	heights := make([]int, 10)
	for i := 0; i < 10; i++ {
		sc.Scan()
		heights[i], _ = strconv.Atoi(sc.Text())
	}

	sort.Sort(sort.Reverse(sort.IntSlice(heights)))
	for i := 0; i < 3; i++ {
		fmt.Println(heights[i])
	}
}

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

using namespace std;
#define rep(i,n) for(int i=0;i<(n);i++)

int main(int, char**)
{
    vector<int> a(10);
    rep(i,10) cin >> a[i];
    sort(a.begin(), a.end(), greater<int>());
    rep(i,3) cout << a[i] << endl;

    return 0;
}

C++: #include<iostream>
#include<algorithm>
#include<vector>
#include<math.h>
typedef long long int ll;
using namespace std;

int main(){
	vector<int> a(10);
	for(int i=0;i<10;i++){
		cin >>a[i];
	}
	sort(a.begin(),a.end());
	cout << a[9] << endl;
	cout << a[8] << endl;
	cout << a[7] << endl;
}

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

auto main() -> int {
    int heights[10];
    for (int i = 0; i < 10; i++) {
        std::cin >> heights[i];
    }

    std::sort(std::begin(heights), std::end(heights), std::greater<int>());

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

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

int main() {
	int height[10];
	int first=0, second=0, third=0;
	int i=0;
	for (;i<10;i++)
		cin>>height[i];
	for (i=0;i<10;i++)
		if (first<height[i])
			first=height[i];
	for (i=0;i<10;i++)
		if (second<height[i]&&first>height[i])
			second=height[i];
	for (i=0;i<10;i++)
		if (third<height[i]&&second>height[i])
			third=height[i];
	cout<<first<<endl<<second<<endl<<third<<endl;
	return 0;
}

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

int main(){

	vector<int> hills(10);

	for (auto& a : hills) {
		cin >> a;
	}

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

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

C++: #include<stdio.h>
#include<iostream>
using namespace std;
int main(){
	int a = 0, b = 0, c = 0, d = 0;
	for (int i = 0; i < 10; i++){
		cin >> a;
		if (a>b){
			d = c;
			c = b;
			b = a;
		}
		else if (a > c){
			d = c;
			c = a;
		}
		else if (a > d){
			d = a;
		}
	}
	cout << b << endl << c << endl << d;
	return 0;
}

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

void hikaku(){
	int a[10],yoke;
	for(int i=0;i<10;i++){
		cin>>a[i];
		}
	for(int i=0;i<9;i++){
		for(int n=i+1;n<10;n++){
			if(a[i]<a[n]){
				yoke=a[i];
				a[i]=a[n];
				a[n]=yoke;
				}
			}
		}
	for(int i=0;i<3;i++){
		cout<<a[i]<<endl;
		}
}
int main(){
	hikaku();
	return 0;
	}

C++: a;main(){a=!puts("10000\n9999\n9998");}

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

int main(){
	int h[10]={};
	

	for(short int i=1; i<=10;i++){
		cin >> h[i];
		if(!(0<=h<=10000)){
			i--;
			continue;
		}
	}
	cout<<endl;
	sort(h, h+10, greater<int>());
	for(short int i=0;i<3;i++){
		cout << h[i] << endl;
	}
	return 0;
}

C++: #include <iostream>

using namespace std;

int main() {
	int h[11];
	for(int i=0;i<10;i++){
		cin >> h[i];
	}
	for(int i=0;i<9;i++){
		for(int j=i+1;j<10;j++){
			if(h[i]<h[j]){
				h[10] = h[i];
				h[i] = h[j];
				h[j] = h[10];
			}
		}
	}
	for(int i=0;i<3;i++){
		cout << h[i] << endl;
	}
	return 0;
}

C++: #include <iostream>
#include <algorithm>
#include <vector>
#include <string>
#include <stack>
#include <queue>
#include <cctype>
#include <cstring>
#include <set>
#include <map>
#define rep(i, m, n) for (int i = m; i < n; i++)
#define repr(i, n) for (int i = n; i >= 0; i--)
#define ll long long
#define ull unsigned long long
#define push(a) push_back(a)
#define pop(a) pop_back(a)
#define debug(x) cout << #x << ": " << x << endl
#define SORT(v, n) sort(v, v + n);
#define VSORT(v) sort(v.begin(), v.end());
#define INF 999999999
using namespace std;
typedef pair<int, int> P;
typedef pair<ll, ll> LP;
typedef pair<int, P> PP;
typedef pair<ll, LP> LPP;

int dy[] = {0, 0, 1, -1, 0};
int dx[] = {1, -1, 0, 0, 0};

ll n, a[10]={}, b;

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

C++: #include <iostream>
#include <queue>
using namespace std;
void AOJ0001::st(){
	int c;
	priority_queue<int>  pq;

	for (int i=0;i<10;i++){
		cin >> c;
		pq.push(c);
	}
	for (int i=0;i<3;i++){
		cout << pq.top() << endl;
		pq.pop();

	}

}

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

int main(){
	int num;
	int height[10];
	for(int i=0;i<=9;i++)
		cin>>height[i];

	for(int i=0;i<=9;i++){
		for(int j=i+1;j<=9;j++){
			if(height[i]<=height[j]){
				num=height[i];
				height[i]=height[j];
				height[j]=num;
			}
		}
	}
	for(int i=0;i<=2;i++)
		cout<<height[i]<<endl;
	return 0;
}

C++: #include<stdio.h>

void swap(int *xp, int *yp)
{
    int temp = *xp;
    *xp = *yp;
    *yp = temp;
}

void bubbleSort(int arr[], int n)
{
   int i, j;
   for (i = 0; i < n-1; i++)
       for (j = 0; j < n-i-1; j++)
           if (arr[j] < arr[j+1])
              swap(&arr[j], &arr[j+1]);
}


void printArray(int arr[], int size)
{
    int i;
    for (i=0; i < size; i++)
        printf("%d\n", arr[i]);
}


int main()
{
    int arr[10];
    for(int i=0; i<10; i++)
        scanf("%d", &arr[i]);
    int n = 10;
    bubbleSort(arr, n);
    printArray(arr, 3);
    return 0;
}

C++: #include<iostream>

using namespace std;

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

C++: #include <iostream>
#include <stdio.h>
#include <string.h>
#include <math.h>
#include <cstdlib>
#include <stack>
#include <queue>
#include <list>
#include <vector>
#include <sstream>

using namespace std;

int sort[100];

class qs{
	private:
	
	public:
	void QuickSort(int bottom,int top,int *data);
};

void qs::QuickSort(int bottom,int top,int *data){
	int lower, upper, div, temp;
	if (bottom >= top){
		return;
	}
	div = data[bottom];
	for (lower = bottom, upper = top; lower < upper;){
		while(lower <= upper && data[lower] <= div){
			lower++;
		}
		while(lower <= upper && data[upper] > div){
			upper--;
		}
		if(lower < upper){
			temp = data[lower];
			data[lower] = data[upper];
			data[upper] = temp;
		}
	}
	temp = data[bottom];
	data[bottom] = data[upper];
	data[upper] = temp;
	
	QuickSort(bottom, upper-1, data);
	QuickSort(upper+1,top,data);
}

int main(){
	int n;
	int i;
	
    n = 10;
	//cin >> n;
	for(i=0; i<n; ++i){
		cin >> sort[i];
	}
	
	qs qs01;
	qs01.QuickSort(0,n-1,sort);
	
	for ( i=n-1; i>n-4; --i){
		cout << sort[i] <<endl;
	}
	
	return 0;
}

C++: #include <stdio.h>

int main(){
	int height[10], rank[3] = {0};
	int i;
	
	for(i = 0; i < 10; i++){
    	scanf("%d\n", height[i]);

        if (rank[0] < height[i]){
        	rank[2] = rank[1];
        	rank[1] = rank[0];
        	rank[0] = height[i];
        }else if (rank[1] < height[i]){
        	rank[2] = rank[1];
        	rank[1] = height[i];
        }else if (rank[2] < height[i]){
        	rank[2] = height[i];
        }
    }

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

	return 0;
}

C++: #include <iostream>
#include <algorithm>
using namespace std;
    
int main(){
	int data,m[10];

	
	for (int j=0;j<=9;j++){
			while(cin >> data){
			if (data<=10000 && data >= 0) {
			m[j]=data;
			break;
		}
			}
	}

for (int j=0;j<=9;j++){
for (int i=0;i<=9;i++){

	if (m[i] <= m[i+1])
		std::swap(m[i],m[i+1]);

}
}
 
for (int i=0;i<=9;i++){
cout <<  m[i] <<'\n';
}

    return 0;
}