题目描述
解题思路
对题目进行分析,可知两两相乘再相加的和由下式决定
内层求和可用总和不断减去a[i]来记录
代码
#include<bits/stdc++.h>
#include<unordered_map>
using namespace std;
int main() {vector<int> nums;int N;cin >> N;vector<long long> S(N);while (N--) {int temp;cin >> temp;nums.push_back(temp);}long long sum = 0;long long nums_sum = 0;for (int i = 0; i < nums.size(); i++) {nums_sum += nums[i];}for (int i = 0; i < nums.size(); i++) {S[i] = nums_sum - nums[i];sum += S[i] * nums[i];nums_sum -= nums[i];}cout << sum;return 0;
}