কোনও ভেক্টরের সংযোজিত যোগফলটি পূর্ববর্তী সমস্ত উপাদানের যোগফল ধরে গণনা করা হয়। এই ক্ষেত্রে:
vec = [1 1 1 -1 -1 -1 -1 -1 1 1 1 1 -1]
cum_vec = [1 2 3 2 1 0 -1 -2 -1 0 1 2 1]
এখন, একটি উচ্চতর এবং একটি নিম্ন সীমা চাপান, এর অর্থ হল যে আপনি যদি উচ্চতর সীমাতে থাকে তবে সংশ্লেষফলকে বৃদ্ধি করা বন্ধ করে দিন এবং যদি নিম্ন সীমাতে থাকে তবে সংশ্লেষফলের পরিমাণ কমিয়ে দেওয়া বন্ধ করুন। একটি সহজ উদাহরণ:
upper_lim = 2
lower_lim = -1
vec = [1 1 1 -1 -1 -1 -1 -1 1 1 1 1 -1]
cum_vec = [1 2 2 1 0 -1 -1 -1 0 1 2 2 1]
ইনপুট ভেক্টরটি কেবলমাত্র 1
এবং -1
ধনাত্মক এবং নেতিবাচক উভয়ই পূর্ণসংখ্যার সমন্বয় করে। ধরুন upper_lim >= lower_lim
। যদি ভেক্টরের প্রথম উপাদানটি সীমানার বাইরে থাকে তবে সরাসরি সীমানায় লাফিয়ে যান (শেষ উদাহরণটি দেখুন)।
ইনপুট হিসাবে পূর্ণসংখ্যার ভেক্টর এবং উপরের এবং নীচের সীমাটি উপস্থাপন করে এমন দুটি পূর্ণসংখ্যার একটি ফাংশন লিখুন। উপরের সংজ্ঞায়িত হিসাবে চৌম্বক संचयी ভেক্টর আউটপুট করুন। ইনপুট হয় ফাংশন আর্গুমেন্ট হিসাবে বা STDIN থেকে হতে পারে।
স্ট্যান্ডার্ড কোড গল্ফ বিধি প্রযোজ্য।
উদাহরণ:
upper_lim = 6
lower_lim = -2
vec = [1 4 3 -10 3 2 2 5 -4]
cum_vec = [1 5 6 -2 1 3 5 6 2]
upper_lim = 100
lower_lim = -100
vec = [1 1 1 1 1 1]
cum_vec = [1 2 3 4 5 6]
upper_lim = 5
lower_lim = 0
vec = [10 -4 -3 2]
cum_vec = [5 1 0 2]
upper_lim = 0
lower_lim = 0
vec = [3 5 -2 1]
cum_vec = [0 0 0 0]
upper_lim = 10
lower_lim = 5
vec = [1 4 6]
cum_vec = [5 9 10]
|
Note, jumped to 5, because 5 is the lower bound.