话不多说,直接上代码(吹爆priority queue!)
#include <iostream>
#include <string>
#include <vector>
#include <queue>
using namespace std;
int main() {
int n;
cin >> n;
priority_queue<double, vector<double>, greater<double>> Q;
int temp;
for (int i = 0; i < n; i++) {
cin >> temp;
Q.push(temp);
}
double num1, num2;
while (Q.size() != 1) {
num1 = Q.top();
Q.pop();
num2 = Q.top();
Q.pop();
Q.push((num1 + num2) / 2);
}
cout << (int)Q.top();
return 0;
}