题目来源
题目来自于AcWing平台:https://www.acwing.com/problem/content/2871/。
以blog的形式记录程序设计算法学习的过程,仅做学习记录之用。
题目描述 + 输入输出格式 + 范围
样例
思路
思路参考自闫总的视频题解。
与区间合并不同,此处的合并代价是重量的乘积。通过数学归纳法可以证明,无论如何合并,最后的代价都是相等的,因此可以直接写代码了。
看来基础还是不能落下啊,写完寒假每日一题,要开始复习闫总的算法基础课了:)。
Code
代码参考自闫总的题解。
#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;
typedef long long ll;
ll sum = 0, res = 0;
int n;
int main()
{
cin >> n;
while(n --){
int x;
cin >> x;
res += sum * x;
sum += x;
}
cout << res;
return 0;
}