2406. 粉刷面积
1000ms
256MB
简单
前缀和与差分
题目描述
物业公司计划为小区内的 $n$ 幢房子粉刷外墙。为了核算成本,需要测量每幢房子的外墙表面面积。物业公司会多次询问大白老师:“前 $x$ 幢房子的外墙表面面积之和是多少?”请你编程帮助大白老师解决这个问题。
输入格式
输入共四行:
- 第 1 行:一个整数 $n$ ($1 \le n \le 100000$),表示房子的幢数。
- 第 2 行:$n$ 个整数,依次表示第 $1 \sim n$ 幢房子的外墙表面面积 $s$ ($50 \le s \le 500$)。
- 第 3 行:一个整数 $m$ ($1 \le m \le 100$),表示询问的次数。
- 第 4 行:$m$ 个无重复的整数 $x$,表示询问“前 $x$ 幢房子”的面积之和。
输出格式
一行,输出 $m$ 个整数,表示每次询问的结果。数与数之间用一个英文逗号隔开。
样例 1
输入 (Input)
5 100 200 50 300 50 3 3 4 5
输出 (Output)
350,650,700
- $n \le 10^5$,$m \le 100$。
- 建议使用前缀和算法,避免重复累加。
- 注意输出格式,最后一个结果后不应有逗号。
› 输入 stdin
CtrlShiftEnter
‹ 输出 stdout
错误 stderr
操作成功