মান লিজিয়ে আমাদের একটি পজিটিভ ভ্যালুর অ্যারে আছে candiesCount যেখানে candiesCount[i] নির্দেশ করে i-তম টাইপের ক্যান্ডির সংখ্যা। আরেকটি অ্যারে আছে queries যেখানে queries[i]-তে তিনটি প্যারামিটার রয়েছে [favoriteType_i, favoriteDay_i, dailyCap_i]। কিছু নিয়ম আছে:
দিন ০ থেকে ক্যান্ডি খাওয়া শুরু করব।
যতক্ষণ না
i-1টাইপের সকল ক্যান্ডি খাওয়া শেয়,iটাইপের ক্যান্ডি খাওয়া যাবে না।প্রতিদিন কমপক্ষে একটি ক্যান্ডি খেতে হবে যতক্ষণ না সকল ক্যান্ডি খাওয়া শেয়।
এই নিয়মগুলো মেনে, প্রতিটি কোয়েরির জন্য একটি বুলিয়ান মান দিতে হবে। i-তম এন্ট্রি true হবে যদি আমরা favoriteType_i টাইপের ক্যান্ডি favoriteDay_i দিনে খেতে পারি, যেন কোনো দিনে dailyCap_i-এর বেশি ক্যান্ডি খাওয়া নয়। একই দিনে বিভিন্ন টাইপের ক্যান্ডি খাওয়া যায় (নিয়ম ২ মেনে)।
যেমন, ইনপুট হলে candiesCount = [7,4,5,3,8], queries = [[0,2,2],[4,2,4],[2,13,100]], তবে আউটপুট হবে [true, false, true] কারণ:
দিন ০ ও ১-এ ২টি টাইপ-০ ক্যান্ডি খালে, দিন ২-এ টাইপ-০ ক্যান্ডি খাওয়া যাবে।
প্রতিদিন সর্বোচ্চ ৪ ক্যান্ডি খাওয়া যাক। দিন ০-এ ৪টি টাইপ-০, দিন ১-এ ৪টি টাইপ-০ ও ১, দিন ২-এ শুধু ৪টি টাইপ-১ ও ২ পাওয়া যাবে, টাইপ-৪ নয়।
প্রতিদিন ১ ক্যান্ডি খালে, দিন ১৩-এ টাইপ-২ ক্যান্ডি পাওয়া যাবে।
সমাধানের ধাপসমূহ
sumcandy := [candiesCount[0]]index := 1index < len(candiesCount)থাকা পর্যন্ত:sumcandy.append(sumcandy[index-1] + candiesCount[index]),index += 1sumcandy.append(0)res := নতুন লিস্টqueries-এ প্রতিটিeachএর জন্য:typ := each[0], day := each[1], cap := each[2]যদি
day+1 > sumcandy[typ]বা(day+1)*cap <= sumcandy[typ-1]হয়, তবেres.append(False)অন্যথায়,
res.append(True)
resরিটার্ন করুন।
উদাহরণ
নিচের ইমপ্লিমেন্টেশনটি দেখুন:
def solve(candiesCount, queries):
sumcandy = [candiesCount[0]]
index = 1
while index < len(candiesCount):
sumcandy.append(sumcandy[index-1] + candiesCount[index])
index += 1
sumcandy.append(0)
res = []
for each in queries:
typ = each[0]
day = each[1]
cap = each[2]
if day+1 > sumcandy[typ] or (day+1)*cap <= sumcandy[typ-1]:
res.append(False)
else:
res.append(True)
return res
candiesCount = [7,4,5,3,8]
queries = [[0,2,2],[4,2,4],[2,13,100]]
print(solve(candiesCount, queries))ইনপুট
[7,4,5,3,8], [[0,2,2],[4,2,4],[2,13,100]]
আউটপুট
[True, False, True]