aiaiask.com©

开花即结果 提问即答案

游游调整数组元素至指定范围的最小操作次数
原始问题:

游游调整数组元素至指定范围的最小操作次数

在[1,2]范围内,所以输出-1。

解析:首先需要判断数组中的最大值和最小值与目标范围的关系,如果最大值大于r或者最小值小于l,那么无法使得数组中每个元素大小都在[l,r]范围内,输出-1。否则,计算数组中的最大值和最小值与目标范围的差值,然后用差值除以2向上取整,得到最少的操作次数。

代码如下:

def min_operations(t, cases):
    for i in range(t):
        n, l, r = cases[i]
        ai = list(map(int, input().split()))
        max_val = max(ai)
        min_val = min(ai)
        if max_val > r or min_val < l:
            print(-1)
        else:
            diff = (max_val - l + r - min_val) // 2
            print(diff)

# 输入示例
t = 1
cases = [(5, 1, 5)]
min_operations(t, cases)
游游调整数组元素至指定范围的最小操作次数
https://www.aiaiask.com/ask/46260.html
AI / 模型Siliconflow
时间 / DATESeptember 7, 2023, 8:08 PM
语言zh-CN
IP / 区域上海市上海市