题目
代码
import sys
n, a, b = tuple(map(int, input().split()))
vector = list(map(int, sys.stdin.read().split()))
i = 0
j = 0
s = 0
while i < a and j < b:
if vector[i*2] == vector[(a+j)*2]:
s += vector[i*2+1]*vector[(a+j)*2+1]
i += 1
j += 1
elif vector[i*2] < vector[(a+j)*2]:
i += 1
else:
j += 1
print(s)
print(vector)
关键问题是要解决用字典会超时、用列表会运行错误的问题,在网络上看到高手说是读取数据太慢,这里用sys库里的stdin一次性读取所有输入即可解决问题,以上为满分代码。