Go: package main

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

var maxint = 10000
var scanner = bufio.NewScanner(os.Stdin)

func nextInt() (int, error) {
	scanner.Scan()
	return strconv.Atoi(scanner.Text())
}

func main() {
	scanner.Split(bufio.ScanWords)
	arr := make([]int, 10)
	for i := range arr {
		n, _ := nextInt()
		arr[i] = n
	}

	sort.Slice(arr, func(i, j int) bool {
		return arr[i] >= arr[j]
	})

	arrStr := fmt.Sprintf("%+v", arr[0:3])
	arrStr = arrStr[1:(len(arrStr) - 1)]
	arrStr = strings.Replace(arrStr, " ", "\n", -1)
	fmt.Println(arrStr)
}

C++: #include <iostream>
using namespace std;
int main(){
    int max1=0,max2=0,max3=0,h;
    
    for(int k=1;k<=10;k++){
    cin>>h;
        
        if(h>max1){
            max3=max2;
            max2=max1;
            max1=h;
        }
        else if(h>max2){
            max3=max2;
            max2=h;
        }
        
    else if(h>max3)
            max3=h;
    }
    
    cout<<max1<<endl;
    cout<<max2<<endl;
    cout<<max3<<endl;
    
    
}

C++: #include <stdio.h>
int main(){
int a,b,c,d,a_max,N[10];

for(a=0;a<10;a++){ 
scanf("%d",&N[a]);
}

for(b=0;b<10;b++){
 b=a_max;
for(c=b;c<10;c++){ 
if(N[a_max]<N[c]){
c=a_max;
}  
d=c; 
c=a_max;
 a_max=d; }

printf("%d\n%d\n%d\n",N[0],N[1],N[2]);

return 0;
}

C++: 
#include <iostream>

using namespace std;

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

    cout<<a[9]<<endl;
    cout<<a[8]<<endl;
    cout<<a[7]<<endl;
    return 0;
}

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

const unsigned int NUM = 10;

int main(){
	std::vector<int> nums(NUM);
	
	for(auto& num : nums){
		std::cin >> num;
	}

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

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

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

typedef long long ll;
typedef pair<ll, ll> P;

#define pb push_back
#define rep(i, n) for(int i = 0; i < (n); i++)
#define dep(i, a, n) for(int i = a; i >= (n); i--)
#define FOR(i, a, n) for(int i = a; i < (n); i++)
#define mod (ll)(1e9+7)
#define int ll
#define INF 100000000

__attribute__((constructor))
void initial() {
  cin.tie(0);
  ios::sync_with_stdio(false);
}

signed main() {
	ll n;
  vector<int> result;
  rep(i, 10) {
    cin >> n;
    result.pb(n);
  }
  sort(result.begin(), result.end());
  reverse(result.begin(), result.end());
  rep(i, 3) cout << result[i] << endl;
	return 0;
}

C++: #include<iostream>
#include<iomanip>
#include<cmath>
#include<string>
#include<vector>
#include<algorithm>
#include<map>
#include<set>
#include<queue>
#include<stack>
using namespace std;
typedef long long ll;
#define fi first
#define se second
#define mp make_pair
const int inf=1e9+7;
const ll mod=1e9+7;

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

C++: #include<iostream>
using namespace std;
 
int main(){
    int i;
    int A[10];
    for(i = 0; i < 10; i++){
        cin >> A[i];
    }
    int a = -1, b = -1, c = -1;
    for(i = 0; i < 10; i++){
        if(a < A[i]){ a = A[i]; }
        else if(b < A[i]){ b = A[i]; }
        else{ c = A[i]; }
    }
    cout << a << endl;
    cout << b << endl;
    cout << c << endl;
    return 0;
}

C++: #include<iostream>

using namespace std;

int i[10] = { 3,4,6,7,8,9,56,2000,78,3000 };

int MaxPoint() {
	/*?????????????????§??????????????\????????????????????????????????§?????????
	???????????????????????§??????????????\??????*/
	int high=0,ret = 0;

	for (int root = 0; root < 10; root++) {
		//????????????????¬?????????¨??????????????????
			if (i[root] > high) {
					high = i[root];//?????§???????¨???¶???????????????	
					ret = root;
				}
	}
	
	return ret;
}

int main() {

	int SaidaiBasho; int bango = 0;

	for (int mawaru = 0; mawaru < 10; mawaru++) {
		bango += 1;
		SaidaiBasho = MaxPoint();
		cout << bango <<"?????????" << i[SaidaiBasho] << endl;
		i[SaidaiBasho] = 0;
	}
}

C++: #include <iostream>
#include <functional>
#include <algorithm>
using namespace std;
int main() {
int a[10];
int b;
for(int i=0;i<10;i++){
cin>>b;
a[i]=b;
}
sort(a,a+10,greater<int>());
cout<<a[0]<<endl;
cout<<a[1]<<endl;
cout<<a[2]<<endl;
return 0;
}

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

#define REP(i,n) for(int i=0;i<n;++i)
#define rep(n) REP(i,n)

int main()
{
	int hills[10];
	rep(10) cin>>hills[i];

	sort( hills, hills+10, greater<int>() );

	rep(3) cout<<hills[i]<<endl;

	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<bits/stdc++.h>
using namespace std;

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

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

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

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

C++: #include <bits/stdc++.h>
using namespace std;
int main()
{
    int arr[10] , Max{0} , Max1{0} , Max2{0};

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

    Max = arr[0];

    Max1 = arr[0];

    Max2 = arr[0];

    for(int i{0};i<10;i++){
        if(arr[i]>Max){

            Max2 = Max1;

            Max1 = Max;

            Max = arr[i];
        }
        else if(arr[i] > Max1){
            Max2 = Max1;

            Max1 = arr[i];
        }
        else if(arr[i] > Max2){
            Max2 = arr[i];
        }
    }

    cout<<Max<<endl<<Max1<<endl<<Max2;

    return 0;
}

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

using namespace std;

int main(){
    vector <int> v;
    int a;    
    
while(1){
for(int i=0;i<10;i++){
        cin >> a;
        v.push_back(a);
    }

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

    cout << v[0] << endl << v[1] << endl << v[2] << endl;
}
    return 0;

}

C++: #include <iostream>
#include <cstdio>
#include <vector>
#define N 10
using namespace std;

int main() {
    vector<int> A;
    for (int i=0; i<N; i++) {
        int x;
        cin >> x;
        A.push_back(x);
    }
    for (int i=0; i<N; i++) {
        for (int j=0; j<N; j++) {
            if (A[i]>A[j]) {
                int t=A[i];
                A[i]=A[j];
                A[j]=t;
            }
        }
    }
    for (int i=0; i<3; i++) {
        printf("%d\n",A[i]);
    }
    return 0;
}