AC 从后往前DP
int main() {
int n;
while (cin >> n) {
vector<int> nums(n, 0);
for (int i = 0; i < n; i++) {
cin >> nums[i];
}
vector<int> results(n + 1, 0);
for (int i = n - 1; i >= 0; i--) {
results[i] = (nums[i] + results[i + 1] + 1) / 2;
}
cout << results[0] << endl;
}
}