| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- import os, argparse
- def solve_task(filename):
- numbers = []
- with open(filename) as infile:
- for raw_line in infile:
- line = raw_line.rstrip()
- numbers.append(int(line))
-
- numbers.sort()
- target = 2020
- biggerIndex = len(numbers)-1
- smallerIndex = 0
- solved = False
-
- while not solved:
- smaller = numbers[smallerIndex]
- bigger = numbers[biggerIndex]
- #print("Smaller: " + str(smaller) + ", Bigger: " + str(bigger))
- if((smaller+bigger) == target):
- soved = True
- print("Answer: " + str(smaller*bigger))
- break
- if(bigger < target/2):
- print("No solusion found")
- break
- if(bigger + numbers[smallerIndex+1] > target):
- #print("Decreasing bigger")
- biggerIndex -= 1
- #smallerIndex = 0
- if(biggerIndex < 0):
- print("No solusion found")
- break
- else:
- #print("Increasing smaller")
- smallerIndex += 1
- if (smallerIndex >= len(numbers)):
- print("No solusion found")
- break
- #os.system("pause")
- def parse_arguments():
- parser = argparse.ArgumentParser(description="Script that solves the case",epilog="Have a nice day!")
- parser.add_argument('filename', nargs='?', default="example.txt", help='Input file')
- args = parser.parse_args()
- return args
- def main():
- args = parse_arguments()
- solve_task(args.filename)
- if __name__ == "__main__":
- main()
|