#include using namespace std; const int MAX = 1e5 + 10; long long n, x[MAX]; int main() { scanf("%lld", &n); for (int i = 0; i < n; i++) { scanf("%lld", x + i); } sort(x, x + n); reverse(x, x + n); unordered_set se; se.insert(0); for (int i = 0; i < n; i++) { unordered_set se2; for (long long e : se) { se2.insert(max(e + x[i] / 2, x[i] + e / 2)); } se = se2; } cout << *max_element(se.begin(), se.end()) << endl; }