蒟蒻第一次发题解qwq
$ S=a_1 \times a_2+a_1 \times a_3+a1 \times a_n+a_2 \times a_3+···+a_n-2 \times a_n-1+a_n-1 \times a_n $
从样例来看
4
1 3 6 9
这道题就是要求
$ 1\times3+1\times6+1\times9+3\times6+3\times9+6\times9 $
我们可以把这个算式分成几个部分
$(1 \times 3)+(1 \times 6+3 \times 6)+(1 \times 9+3 \times 9+6 \times 9)$
然后用我们小学就学过的乘法分配律
$a \times c+b \times c=(a+b)c$
把算式变成这样
$ 1 \times 3+(1+3) \times 6+(1+3+6) \times 9 $
就可以发现这道题其实就是求前面所有的数的和 $\times$ 这个位置上的数了
AC代码
#include<bits/stdc++.h>
using namespace std;
int n,a;
long long tmp,ans;
int main()
{
scanf("%d",&n);
for(int i=1;i<=n;i++)
scanf("%d",&a),ans+=a*tmp,tmp+=a;//tmp求前面所有的数的和,ans累加答案
printf("%lld",ans);
return 0;
}
标签:times9,int,题解,times,蓝桥,算式,P8772
From: https://www.cnblogs.com/thenyu/p/17649799.html