链接到问题:http://www.spoj.com/problems/PRO/
我做了什么
问题要求你从列表中选择最小和最大元素并将其添加到总数中,它使用python中的heapq模块来解决问题,虽然它通过了提供的测试用例,但在提交后给出了错误的答案
我的问题
我的代码中有什么错误?
我的代码
import sys
from heapq import *
n = int(sys.stdin.readline())
inp = []
total = 0
for _ in range(n):
text = [int(x) for x in sys.stdin.readline().split()]
k = text[0]
del text[0]
inp.extend(text)
heapify(inp)
while(len(inp)>=2):
Max = inp.pop(-1)
Min = heappop(inp)
total += (Max-Min)
print(total)
答案 0 :(得分:0)
为什么你不使用列表而不是heapq?考虑:
inp.sort()
while len(inp) >= 2:
Max = inp.pop(-1)
Min = inp.pop(0)
total += (Max-Min)