ধরুন আমাদের একটি মান n আছে, n উপাদান সহ একটি অ্যারে সংখ্যা বিবেচনা করুন, যেখানে arr[i] =(2*i)+1 সব i এর জন্য। এখন একটি অপারেশনে, আমরা x এবং y দুটি সূচক বেছে নিতে পারি যেখানে 0 <=x, y
সুতরাং, যদি ইনপুটটি n =4 এর মত হয়, তাহলে আউটপুট 4 হবে যেমন n অ্যারের জন্য [1,3,5,7], এখন প্রথম অপারেশনের পরে আমরা [2,3,5,6 এর মতো অ্যারে তৈরি করতে পারি। ], দ্বিতীয় অপারেশনের পরে আমরা [3,3,5,5], তারপর তৃতীয় [4,3,4,5] এবং অবশেষে [4,4,4,4] করতে পারি। তাই এখন সবাই সমান।
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
-
উত্তর:=0
-
যদি n 1 এর মত হয়, তাহলে
-
উত্তর ফেরত দিন
-
-
q:=(n/2) -1
এর ভাগফল -
j:=1
-
যখন q>=0, করবেন
-
ans:=ans + (n-j)
-
q :=q - 1
-
j :=j + 2
-
-
উত্তর ফেরত দিন
আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -
উদাহরণ
def solve(n): ans=0 if n==1: return ans q=(n//2)-1 j=1 while q>=0: ans=ans+(n-j) q-=1 j+=2 return ans n = 4 print(solve(n))
ইনপুট
4
আউটপুট
4