WAREHOUSE SOLUTION
def minimum_vehicles(weights, max_limit):
# Filter out zero weights and sort the remaining weights in descending order
sorted_weights = sorted(filter(lambda x: x != 0, weights), reverse=True)
left, right = 0, len(sorted_weights) - 1
vehicles = 0
while left <= right:
if sorted_weights[left] + sorted_weights[right] <= max_limit:
right -= 1
left += 1
vehicles += 1
return vehicles
weights = list(map(int, input().split()))
max_limit = int(input())
result = minimum_vehicles(weights, max_limit)
print(result,end="")
Join now for remaining
https://t.me/codevitatcs
def minimum_vehicles(weights, max_limit):
# Filter out zero weights and sort the remaining weights in descending order
sorted_weights = sorted(filter(lambda x: x != 0, weights), reverse=True)
left, right = 0, len(sorted_weights) - 1
vehicles = 0
while left <= right:
if sorted_weights[left] + sorted_weights[right] <= max_limit:
right -= 1
left += 1
vehicles += 1
return vehicles
weights = list(map(int, input().split()))
max_limit = int(input())
result = minimum_vehicles(weights, max_limit)
print(result,end="")
Join now for remaining
https://t.me/codevitatcs
SOLO RIDER SOLUTION
import math
def calculate_distance(point1, point2):
return abs(point1[0] - point2[0]) + abs(point1[1] - point2[1])
def assign_vehicles(passengers, vehicles):
allocated_vehicles = {}
total_distance = 0
for passenger in sorted(passengers):
min_distance = math.inf
closest_vehicle = ""
passenger_coordinates = passengers[passenger]
for vehicle in vehicles:
if vehicles[vehicle] == "":
vehicle_coordinates = vehicles[vehicle + "_coordinates"]
distance = calculate_distance(passenger_coordinates, vehicle_coordinates)
if distance < min_distance or (distance == min_distance and vehicle < closest_vehicle):
min_distance = distance
closest_vehicle = vehicle
allocated_vehicles[passenger] = closest_vehicle
vehicles[closest_vehicle] = passenger
total_distance += min_distance
return total_distance
N, M = map(int, input().split())
passengers = {}
vehicles = {}
for _ in range(N):
name, x, y = input().split()
passengers[name] = (int(x), int(y))
for _ in range(M):
vehicle, x, y = input().split()
vehicles[vehicle] = ""
vehicles[vehicle + "_coordinates"] = (int(x), int(y))
minimum_distance = assign_vehicles(passengers, vehicles)
print(minimum_distance,end="")
JOIN NOW FOR REMAINING
https://t.me/codevitatcs
import math
def calculate_distance(point1, point2):
return abs(point1[0] - point2[0]) + abs(point1[1] - point2[1])
def assign_vehicles(passengers, vehicles):
allocated_vehicles = {}
total_distance = 0
for passenger in sorted(passengers):
min_distance = math.inf
closest_vehicle = ""
passenger_coordinates = passengers[passenger]
for vehicle in vehicles:
if vehicles[vehicle] == "":
vehicle_coordinates = vehicles[vehicle + "_coordinates"]
distance = calculate_distance(passenger_coordinates, vehicle_coordinates)
if distance < min_distance or (distance == min_distance and vehicle < closest_vehicle):
min_distance = distance
closest_vehicle = vehicle
allocated_vehicles[passenger] = closest_vehicle
vehicles[closest_vehicle] = passenger
total_distance += min_distance
return total_distance
N, M = map(int, input().split())
passengers = {}
vehicles = {}
for _ in range(N):
name, x, y = input().split()
passengers[name] = (int(x), int(y))
for _ in range(M):
vehicle, x, y = input().split()
vehicles[vehicle] = ""
vehicles[vehicle + "_coordinates"] = (int(x), int(y))
minimum_distance = assign_vehicles(passengers, vehicles)
print(minimum_distance,end="")
JOIN NOW FOR REMAINING
https://t.me/codevitatcs
Telegram
TCS CODEVITA ANSWERS 2023
#tcs #codevita