对于n个图形来说,不管按怎样顺序组合,最后得到的分数都是一样的。
假设有n个图形,大小分别为图片说明 。按照从左到右的合并方式进行处理可以得到。

  1. 图片说明
  2. 图片说明 图片说明 图片说明
  3. 图片说明 图片说明 图片说明

可以看出来,最后得到分数是任意两个图形大小乘积的和,所以不管按照怎样顺序对图形进行合并得分结果都是相同的。因此,我们只要简单得按照题目进行计算即可。

#include <iostream>
using namespace std;
int main()
{
    int n, a1,a2,score=0;
    cin>>n;
    cin>>a1;
    for(int i=1; i<n; ++i)
    {
        cin>>a2;
        score=score+a1*a2;
        a1=a1+a2;
    }
    cout<<score<<endl;
}