CSP-202112-1-序列查询
提示:若存在区间[i,j) 满足:f(i)=f(i+1)=…=f(j-1),使用乘法运算 f(i)x(j-i)代替将 f()到 f(j- 1)逐个相加,或可大幅提高算法效率。
- 一定要看提示!单纯的模拟时间会超限!算法也是根据提示设计的。
#include <iostream>
using namespace std;
int main() {long long n, N, sum = 0;cin >> n >> N;long long b = 0;int i = 0;for (i; i < n; i++){long long a;cin >> a;sum += (a - b) * i;b = a;}sum += (N - b) * i;cout << sum << endl;return 0;
}