本题是Python快乐题,Java和C++选手被爆int坑的很惨~
首先考虑每个元素都被处理过q次
那么对于qi=x,则有第x个元素处理次数-1
然后统计最终每个元素被处理多多少次,处理过几次,就是乘多少个2,这里我们可以使用快速幂计算,除以取模,以防溢出。
小美拿到了一个数组,她每次操作会将除了第x个元素的其余元素翻倍,一共操作了q次。请你帮小美计算操作结束后所有元素之和。 由于答案过大,请对109+7取模。
第一行输入两个正整数n,q,代表数组的大小和操作次数。
第二行输入n个正整数ai,代表数组的元素。
接下来的q行,每行输入一个正整数qi,代表第i次操作未被翻倍的元素。
1≤n,q≤105
1≤xi≤n
1≤ai≤109
一个整数,代表操作结束后所有元素之和模109+7的值。
输入
4 2
1 2 3 4
1
2
输出
34