সমস্যা বিবরণ
n সংখ্যক ক্যাশিয়ার আছে। i-তম ক্যাশিয়ারের সামনে k[i] জন মানুষ আছে। j-তম মানুষের m[i][j] টি নোট আছে। প্রতিটি নোট স্ক্যান করতে ৫ সেকেন্ড এবং প্রতিটি কাস্টমারের জন্য ১৫ সেকেন্ড এক্সট্রা লাগে। কোন ক্যাশিয়ারের সারি দাঁড়াতে সবচেয়ে কম সময় লাগবে তা বের করতে হবে।
উদাহরণস্বরূপ, দেওয়া ইনপুটে আউটপুট 585 (৫ম ক্যাশিয়ারের জন্য)।
সমাধানের ধাপসমূহ
minimum = 99999।- প্রতিটি ক্যাশিয়ার
iএর জন্য:temp = k[i] * 15(কাস্টমার প্রতি ১৫ সেকেন্ড)।- প্রতিটি কাস্টমার
jএর জন্য:temp += m[i][j] * 5(নোট প্রতি ৫ সেকেন্ড)। minimum = min(minimum, temp)।
minimumরিটার্ন করুন।
পাইথন কোড উদাহরণ
def minTimeToExchange(k, m):
n = len(k)
minimum = 99999
for i in range(n):
temp = k[i] * 15
for j in range(k[i]):
temp += m[i][j] * 5
if temp < minimum:
minimum = temp
return minimum
k = [12, 12, 12, 12, 12, 12]
m = [
[7,8,9,7,9,6,10,9,9,6,7,8],
[10,7,10,9,8,9,9,9,9,6,5,6],
[9,8,8,9,8,6,7,9,10,6,6,7],
[7,6,9,6,6,9,8,9,6,6,8,9],
[9,8,7,6,5,10,8,10,7,6,6,8],
[8,7,6,5,7,9,7,9,6,5,5,7]
]
print(minTimeToExchange(k, m)) # আউটপুট: 585
ইনপুট
[12, 12, 12, 12, 12, 12], [[7,8,9,7,9,6,10,9,9,6,7,8], [10,7,10,9,8,9,9,9,9,6,5,6], [9,8,8,9,8,6,7,9,10,6,6,7], [7,6,9,6,6,9,8,9,6,6,8,9], [9,8,7,6,5,10,8,10,7,6,6,8], [8,7,6,5,7,9,7,9,6,5,5,7]]
আউটপুট
585