//201903-1
//分别对不同情况进行分析
//n的奇偶决定不同的中位数
#include <bits/stdc++.h>
using namespace std;
int main(){
int n;scanf("%d", &n);
int arr[n];
for (int i = 0; i < n; i++)scanf("%d", &arr[i]);sort(arr, arr + n);
if (n % 2 != 0){
int mid = (n - 1) / 2;printf("%d %d %d\n", arr[n - 1], arr[mid], arr[0]);}else{
int mid = (n - 1) / 2;
if ((arr[mid] + arr[mid + 1]) % 2 == 0){
int num = ((arr[mid] + arr[mid + 1]) / 2);printf("%d %d %d\n", arr[n - 1], num, arr[0]);}else{
double num = (arr[mid] + arr[mid + 1]) / 2.0;printf("%d %.1f %d\n", arr[n - 1], num, arr[0]);}}
return 0;}
//201803-1
//模拟
#include <bits/stdc++.h>
using namespace std;
int main(){
int num;
int temp = 0;
int totalScore = 0;
for (int i = 0; i < 31; i++){scanf("%d", &num);
if (num == 0)
break;
if (i == 0 || temp == 1){
if (num == 2)
totalScore += 2;
else
totalScore++;}else{if (num == 2){
int reaTemp = temp + num;
totalScore += reaTemp;
temp = reaTemp;
continue;} else
totalScore++;}
temp = num;}printf("%d\n", totalScore);
return 0;}
//201803-2
#include <bits/stdc++.h>
using namespace std;
struct Node{
int x;//小球位置
int index;//小球索引
bool flag;//true为向右移动,false为向左移动
} node[110];
int n, l, t;
bool isMeet(Node a){
int index = a.index;
for (int i = 0; i < n; i++)
if (i != index && a.x == node[i].x)
return true;
return a.x == l || a.x == 0;}int main(){scanf("%d%d%d", &n, &l, &t);
for (int i = 0; i < n; i++){scanf("%d", &node[i].x);
node[i].index = i;
node[i].flag = true;//默认向右移动
}//根据时间递减
//移动每个小球
while (t--){
//移动每个小球
for (int i = 0; i < n; i++)
if (node[i].flag)
node[i].x++;
else
node[i].x--;
//判断是否相遇,需要改变方向
for (int i = 0; i < n; i++)
if (isMeet(node[i]))
node[i].flag = !node[i].flag;}
for (int i = 0; i < n; i++){
if (i)printf(" ");printf("%d", node[i].x);}
return 0;}
//201903-1//分别对不同情况进行分析//n的奇偶决定不同的中位数#include <bits/stdc++.h>using namespace std;int main() { int n; scanf("%d", &n); int arr[n]; for (int i = 0; i < n; i++) ...