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;
    }
}