问题描述
解题思路
就是一个简单的模拟,仔细读一遍题目,看一下是在要求干什么
言简意赅的意思就是
根据数组的每一个值进行分段,每一个段的值就是数组下标
然后乘起来,加起来,就可以了,具体看代码,比较简单易懂。
代码实现
#include <iostream>
#include <algorithm>
#include <cstring>
using namespace std;
int main()
{
int n, N;
cin >> n >> N;
int a[n + 1];
a[0] = 0;
for (int i = 1; i <= n; i ++) cin >> a[i];
long long res = 0;
for (int i = 0; i <= n; i ++)
{
if (i == n) res += (N - a[i]) * i;
else res += (a[i + 1] - a[i]) * i;
}
cout << res;
return 0;
}