P8772 [蓝桥杯 2022 省 A] 求和

P8772 [蓝桥杯 2022 省 A] 求和 - 洛谷

题目描述

给定 n 个整数 a1​,a2​,...,an​,求它们两两相乘再相加的和,即

S=a1​⋅a2​+a1​⋅a3​+⋯+a1​⋅an​+a2​⋅a3​+⋯+an−2​⋅an−1​+an−2​⋅an​+an−1​⋅an​

输入格式

输入的第一行包含一个整数 n。

第二行包含 n 个整数 a1​,a2​,...,an​。

输出格式

输出一个整数 S,表示所求的和。请使用合适的数据类型进行运算。

输入输出样例

输入 #1

markdown

复制代码
4
1 3 6 9

输出 #1

markdown

复制代码
117

说明/提示

  • 对于 30% 的数据,1≤n≤1000,1≤ai≤1000。
  • 对于所有评测用例,1≤n≤2×105,1≤ai≤1000。

蓝桥杯 2022 省赛 A 组 C 题

思路:

前缀和模拟即可,记得开longlong

代码如下:

复制代码
#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;
typedef long long ll;
const ll N = 2e5+10;
ll a[N],n,cnt,pre[N];
int main() 
{
	ios::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);
	cin >> n;
	for(ll i = 1 ; i <= n ; i++)
	{
		cin >> a[i];
		pre[i] = pre[i-1]+a[i];
	}
	ll sum = 0;
	for(ll i = 1 ; i <= n ; i++)
	{
		sum += a[i] * (pre[n] - pre[i]);
	}
	cout << sum;
	return 0;
}
相关推荐
尘觉3 小时前
面试-浅复制和深复制?怎样实现深复制详细解答
javascript·面试·职场和发展
007php0077 小时前
京东面试题解析:同步方法、线程池、Spring、Dubbo、消息队列、Redis等
开发语言·后端·百度·面试·职场和发展·架构·1024程序员节
微笑尅乐8 小时前
洗牌算法讲解——力扣384.打乱数组
算法·leetcode·职场和发展
松间沙路hba8 小时前
面试过程中的扣分项,你踩过几个?
面试·职场和发展
夏鹏今天学习了吗9 小时前
【LeetCode热题100(50/100)】岛屿数量
算法·leetcode·职场和发展
墨染点香9 小时前
LeetCode 刷题【134. 加油站】
算法·leetcode·职场和发展
这个世界的真神18 小时前
【每日算法】 洛谷 P12341 【[蓝桥杯 2025 省 A/Python B 第二场] 消消乐】 2025.10.26
python·算法·蓝桥杯
LucianaiB1 天前
仓颉语言核心技术解析:如何开发高性能服务端应用
职场和发展·高性能·语言·仓颉