Pagini recente » Cod sursa (job #1523346) | Cod sursa (job #1344394) | Cod sursa (job #895189) | Cod sursa (job #2291737) | Cod sursa (job #3129879)
# Deschide fișierul de intrare pentru citire
input_file = open("loto.in")
# Deschide fișierul de ieșire pentru scriere
output_file = open("loto.out", 'w')
# Citește prima linie a fișierului de intrare și extrage 'n' și 'total_sum'
n, total_sum = [int(x) for x in input_file.readline().split()]
# Citește a doua linie a fișierului de intrare și stochează numerele în tuplul 'numbers'
numbers = tuple(int(x) for x in input_file.readline().split())
# Dicționar pentru a stoca sumele și perechile de numere corespunzătoare
sum_dict = {}
# Calculează toate sumele posibile ale a trei numere din tuplul 'numbers' și le stochează în dicționarul 'sum_dict'
for num1 in numbers:
for num2 in numbers:
for num3 in numbers:
current_sum = num1 + num2 + num3
if current_sum not in sum_dict:
sum_dict[current_sum] = (num1, num2)
# Variabilă pentru a indica dacă s-a găsit o combinație validă
found = False
# Găsește o combinație de trei numere astfel încât suma lor să se potrivească cu 'total_sum'
for num1 in numbers:
if found:
break
for num2 in numbers:
if found:
break
for num3 in numbers:
current_sum = num1 + num2 + num3
if total_sum - current_sum in sum_dict:
found = True
num1_pair, num2_pair = sum_dict[total_sum - current_sum][0], sum_dict[total_sum - current_sum][1]
num3_pair = total_sum - current_sum - num1_pair - num2_pair
output_file.write(f"{str(num1)} {str(num2)} {str(num3)} "
f"{str(num1_pair)} {str(num2_pair)}"
f" {str(num3_pair)}")
break
# Dacă nu s-a găsit nicio combinație validă, se scrie '-1' în fișierul de ieșire
if not found:
output_file.write('-1')
# Închide fișierele de intrare și de ieșire
input_file.close()
output_file.close()