Go: package main

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

var (
	n  = 10
	sc = bufio.NewScanner(os.Stdin)
)

func main() {
	heights := make([]int, n, n)
	for i := 0; i < n; 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++: Z:\H28\paso2016\toi02

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

int main()
{
	int hills[10];

	for (int i = 0; i < 10; ++i)
		cin >> hills[i];

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

	for (int i = 0; i < 3; ++i)
		cout << hills[i] << '\n';

	return 0;
}

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

 
int main(){

	priority_queue<int> q;
	int tmp;

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

	for(int i = 0; i < 3; i++){
		cout << q.top() << endl;
		q.pop();
	}

	return 0;
}

C++: #include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<int, int> pii;



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

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

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

  return 0;
}

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

using namespace std;

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

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

using namespace std;

int arr[12];

int main(){
	for(int i = 0;i < 10;i++)
	    cin>>arr[i];
	sort(arr,arr+10);
	for(int j = 9;j>=7;j--)
		cout<<arr[j]<<endl;
	return 0;
}

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

using namespace std;

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

    return 0;
}

C++: #include <iostream>
using namespace std;
int main(){
	int mountain[11] ;
	for( int i=1 ; i<=10 ; i++ ){
		cin >> mountain[i] ;
	}
	for( int i=1 ; i<=10 ; i++ ){
		for( int k=1 ; k<=10 ; k++ ){
			if( mountain[i] > mountain[k] )
				swap( mountain[i] , mountain[k] );
		}
	}
	cout << mountain[1] << endl << mountain[2] << endl << mountain[3] << endl;
}

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

using namespace std;
int x[10];
int main(){
for(int i=0;i<10;i++){
cin>>x[i];
}
sort(x,x+10);
cout<<x[7]<<endl;
cout<<x[8]<<endl;
cout<<x[9]<<endl;
return 0;
}

C++: #include<iostream>
using namespace std;
void q_sort(int numbers[], int left, int right)
{
    int pivot, l_hold, r_hold;
    l_hold = left;
    r_hold = right;
    pivot = numbers[left];
    while (left < right)
    {
        while ((numbers[right] >= pivot) && (left < right))
            right--;
        if (left != right)
        {
            numbers[left] = numbers[right];
            left++;
        }
        while ((numbers[left] <= pivot) && (left < right))
            left++;
        if (left != right)
        {
            numbers[right] = numbers[left];
            right--;
        }
    }
    numbers[left] = pivot;
    pivot = left;
    left = l_hold;
    right = r_hold;
    if (left < pivot)
        q_sort(numbers, left, pivot-1);
    if (right > pivot)
        q_sort(numbers, pivot+1, right);
}
int main()
{
	int mountain[10];	
	for(int i=0;i<10;i++)
		cin>>mountain[i];
	q_sort(mountain,0,9);
	for(int i=9;i>6;i--)
		cout<<mountain[i]<<endl;
}

C++: #include<bits/stdc++.h>
using namespace std;
int main(){
  priority_queue<int> que;
  int a;
  for(int i = 0;i < 10;i++) {
    cin >> a;
    que.push(a);
  }
  for(int i = 0;i < 3;i++){
    printf("%d\n", que.top());
    que.pop();
  }

  return 0;
}

C++: #include<iostream>
#include<algorithm>
#include<vector>
using namespace std;
int main(){
	int h[10];
	for(int i=0;i<10;i++){
	cin>>h[i];
	}
	for(int i=0;i<10;i++){
		for(int j=i+1;j<10;j++){
			if(h[i]>h[j]){
			swap(h[i],h[j]);
			}
		}
	}
	cout<<h[9]<<endl<<h[8]<<endl<<h[7]<<endl;
	return 0;
}