一行两个整数 ,表示数组的长度和操作的次数。一行 个整数 ,表示数组的元素。
输出一个整数,表示最后数组中的元素的总和的最大值,由于答案可能很大,你只需要输出答案对 取模的结果。
5 2 1 2 3 4 5
65
第一次操作后,数组变为 [1, 2, 12, 1, 5]第二次操作,数组变为 [1, 2, 60, 1, 1]
n, k = list(map(int, input().split())) a = list(map(int, input().split())) a.sort() i = n-1 MOD = 10**9 + 7 for _ in range(k): x = a[i-1] y = a[i] a[i-1] = (x*y) % MOD a[i] = 1 i -= 1 res = 0 for ai in a: res += ai res %= MOD print(res)
这道题你会答吗?花几分钟告诉大家答案吧!
扫描二维码,关注牛客网
下载牛客APP,随时随地刷题