习题加餐 1.一道简单的取模问题

本文介绍了如何解决一道关于数组取模的算法问题,作者通过错误答案分析,揭示了时间复杂度过高的问题。然后详细讨论了正确解题思路,包括使用大根堆优化算法,降低时间复杂度至。文章还涵盖了数据结构选择对性能的影响,以及C++编程技巧,并总结了编程实践中的学习点。
摘要由CSDN通过智能技术生成

 

1.一道简单的取模问题
问题描述
小雷拿到了一个数组,他计算了一下数组的和,感觉和也太大了,所以他准备对数组中的每个元素进行取余操作,让数组的和变得小一点。
具体来说,给定一个数组a,共有q次操作,每次操作给定一个值x,对数组的每个元素对x进行一次取模,输出每次操作后,数组所有元素的和。
输入格式
第一行有两个整数n,q,代表数组a的元素个数和操作个数。
第二行输入n个元素,代表数组a。
第三行输入q个元素,代表q次操作。
输出格式
输出仅一行,包含q个由空格分开的整数,第i个整数代表第qi次操作后的结果。
样例输入
53
12345421
样例输出
730
说明
初始数组为[1,2,3,4,5],和为15。
进行第一次x为4的取模操作后,数组变为[1,2,3,0,1],和为7。
进行第二次x为2的取模操作后,数组变为[1,0,1,0,1],和为3。
进行第三次x为1的取模操作后,数组变为[0,0,8,0,8],和为0。
评测数据规模<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

夏驰和徐策

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值