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;
}
相关推荐
Swift社区16 小时前
LeetCode 392 判断子序列
算法·leetcode·职场和发展
我命由我1234518 小时前
Photoshop - Photoshop 工具库
笔记·学习·ui·职场和发展·职场·photoshop·ps
Asmalin21 小时前
【代码随想录day 30】 力扣 763. 划分字母区间
算法·leetcode·职场和发展
小欣加油21 小时前
leetcode 526 优美的排列
c++·算法·leetcode·职场和发展·深度优先·剪枝
我命由我123451 天前
Photoshop - Photoshop 工具栏(1)移动工具
笔记·学习·ui·职场和发展·求职招聘·职场发展·photoshop
小南家的青蛙1 天前
LeetCode第79题 - 单词搜索
算法·leetcode·职场和发展
我命由我123451 天前
Photoshop - Photoshop 工具从工具栏消失
笔记·学习·ui·职场和发展·职场发展·photoshop·ps
Miraitowa_cheems2 天前
LeetCode算法日记 - Day 59: 字母大小写全排列、优美的排列
java·数据结构·算法·leetcode·决策树·职场和发展·深度优先
Archie_IT2 天前
嵌入式八股文篇——P1 关键字篇
c语言·开发语言·单片机·mcu·物联网·面试·职场和发展
Asmalin2 天前
【代码随想录day 29】 力扣 406.根据身高重建队列
算法·leetcode·职场和发展