CCF 201809-2买菜(求大佬看看我这个为什么是30分啊,我感觉情况都考虑到了)能给我看一个吗
n=int(input())
b=[]
c=[]
total_time=0
for i in range(n): #数据的录入
son=list(map(int,input().split()))
b.append(son)
son=[]
for i in range(n): #数据的录入
son=list(map(int,input().split()))
c.append(son)
son=[]
left=0 #控制第第一个人的数组
right=0 #控制第二个人的数组
while left<n and right<n:
if b[left][1]>c[right][0]: #如果b段的结束时间大于c时间段的开始时间
if b[left][1]>=c[right][1]: #判断这个结束时间是否大于c段的结束时间
if b[left][0]>=c[right][1]: #如果b段结束时间和开始时间都大于c段的结束时间就没有交流
right+=1
elif b[left][0]<=c[right][0]: #如果b段的开始时间小于c段的结束开始时间
total_time+=c[right][1]-c[right][0]
right+=1
else:
total_time+=c[right][1]-b[right][0]
right+=1
elif b[left][1]<c[right][1]:
if b[left][0]<=c[right][0]:
total_time+=b[left][1]-c[right][0]
left+=1
elif b[left][0]>c[right][0]:
total_time+=b[left][1]-b[left][0]
left+=1
elif b[left][1]<=c[right][0]:
left+=1
print(total_time)