একটি অ্যারে input_list এবং একটি সংখ্যা n দেওয়া আছে। অ্যারেটি দুই অংশে ভাগ করে তাদের যোগফলের পার্থক্য n করা সম্ভব কিনা যাচাই করুন।
উদাহরণ
ইনপুট: input_list = [9, 2, 5, 6], n = 0
আউটপুট: Possible
অ্যালগরিদম
- মোট যোগফল
list_totalবের করুন। - যদি
(list_total - n) % 2 == 1হয়, তবে অসম্ভব। - টার্গেট সাবঅ্যারে যোগফল
val = (list_total - n) / 2। - প্রিফিক্স সাম ধরে
valপাওয়া যায় কিনা চেক করুন।
উদাহরণ কোড
def solve(input_list, n):
list_total = sum(input_list)
if (list_total - n) % 2 == 1:
return "Not Possible"
val = (list_total - n) / 2
temp_sum = 0
for x in input_list:
temp_sum += x
if temp_sum == val:
return "Possible"
return "Not Possible"
input_list = [9, 2, 5, 6]
n = 0
print(solve(input_list, n)) # Output: Possible
ইনপুট
[9, 2, 5, 6], 0
আউটপুট
Possible