本文共 1127 字,大约阅读时间需要 3 分钟。
为了解决这个问题,我们需要找到一个表达式 ( p \cdot a[i] + q \cdot a[j] + r \cdot a[k] ) 的最大值,其中 ( i \leq j \leq k \leq n )。我们可以通过暴力枚举所有可能的 ( i, j, k ) 组合来实现这一点,因为 ( n ) 的最大值为 105,暴力枚举的时间复杂度是可接受的。
n, p, q, r = map(int, input().split())a = list(map(int, input().split()))max_val = -float('inf')for i in range(n): for j in range(i, n): for k in range(j, n): current = p * a[i] + q * a[j] + r * a[k] if current > max_val: max_val = currentprint(max_val) 这种方法虽然看起来计算量较大,但由于 ( n ) 的最大值为 105,因此计算量在可接受范围内。
转载地址:http://isio.baihongyu.com/