题解:P15638 [ICPC 2022 Tehran R] Final Price

· · 题解

这道题有一个吓唬人的题目描述。我们发现题目输入的是单个物品的价格每次的变化量,看做一个数列的话,也就是数列每一项与前面一项的差。小学数学告诉我们,把它们每一天的变化量求和就可以得到最终答案了。这就是我们所说的“差分数列的前缀和等于原数列”。

特别地,首项既可以看做第一天的价格,也可以看做是商品价格由 0 元涨到第一天的涨幅。

Code

#include<bits/stdc++.h>
using namespace std;
int n, tmp, ans;
int main(){
    cin >> n;
    for(int i = 1; i <= n; i++){
        cin >> tmp;
        ans += tmp;
    }
    cout << ans;
    return 0;
}