题解:P8709 [蓝桥杯 2020 省 A1] 超级胶水

· · 题解

1.题目传送门:

P8709

2.思路:

看题可知,胶水重量需要两块石子重量的乘积 。
那么:

heavy+=sum*a[i];//计算需要的胶水数
sum+=a[i];//更新重量 

然后,在循环中多次计算即可,在循环中计算总胶水量。

最后,上代码:
#include<bits/stdc++.h>
using namespace std;
const int N=1e5+5;
#define int long long
int a[N],n;
signed main(){
    cin>>n;
    //输入石子数量 
    for(int i=1;i<=n;i++){
        cin>>a[i];
        //输入石子重量 
    }
    int heavy=0,sum=0;
    //heavy用来存储胶水的重量 
    for(int i=1;i<=n;i++){
        heavy+=sum*a[i];//计算需要的胶水数 
        sum+=a[i];//更新重量 
    }
    cout<<heavy<<"\n";
    //输出答案 
    return 0;
}

喜欢就点个赞吧。
欢迎指出错误。 求过(求求啦!!!)。