首页 > 试题广场 >

代价

[编程题]代价
  • 热度指数:5995 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
你有3个需要完成的任务,完成这3个任务是需要付出代价的。
首先,你可以不花任何代价的完成一个任务;然后,在完成了第i个任务之后,你可以花费|Ai - Aj|的代价完成第j个任务。|x|代表x的绝对值。
计算出完成所有任务的最小代价。

输入描述:
一行3个整数A1,A2,A3,每个数字之间用一个空格分隔。所有数字都是整数,并且在[1,100]范围内。


输出描述:
一个整数,代表最小的代价。
示例1

输入

1 6 3

输出

5
示例2

输入

10 10 10

输出

0
贪心,让数组有序就行

class MainActivity:

    def main(self):
        # Read the data
        nums = list(map(int, filter(lambda x: len(x) > 0, input().split(' '))))
        # Initialization
        nums.sort()
        result = 0
        # Traverse
        for ptr in range(1, len(nums)):
            result += nums[ptr] - nums[ptr - 1]
        print(result)


if __name__ == '__main__':
    M = MainActivity()
    M.main()
发表于 2024-08-26 17:01:04 回复(0)