Spaces:
Running
Running
File size: 998 Bytes
a4da721 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
file = "input.txt"
def calculate_total_distance(left_list, right_list):
left_list.sort()
right_list.sort()
total_distance = sum(abs(l - r) for l, r in zip(left_list, right_list))
return total_distance
def calculate_similarity_score(left_list, right_list):
from collections import Counter
right_count = Counter(right_list)
similarity_score = sum(l * right_count[l] for l in left_list)
return similarity_score
def main():
with open(file, 'r') as f:
lines = f.readlines()
left_list = []
right_list = []
for line in lines:
left, right = map(int, line.split())
left_list.append(left)
right_list.append(right)
# Part 1: Calculate the total distance
total_distance = calculate_total_distance(left_list, right_list)
print(total_distance)
# Part 2: Calculate the similarity score
similarity_score = calculate_similarity_score(left_list, right_list)
print(similarity_score)
main() |