ধরুন আমাদের n-1 উপাদান সহ একটি অ্যারে D আছে এবং দুটি মান a এবং b আছে। একটি সেনাবাহিনীতে, 1 থেকে n পর্যন্ত সংখ্যাযুক্ত nrank আছে। র্যাঙ্ক i থেকে i+1 র্যাঙ্কে উঠতে একজনের D[i] বছর প্রয়োজন। অমল সবেমাত্র নতুন র্যাঙ্ক 'এ'-এ পৌঁছেছে কিন্তু সে 'বি' র্যাঙ্কে পৌঁছতে চায়। তার লক্ষ্যে পৌঁছতে তাকে কত বছর লাগবে তা আমাদের গুনতে হবে।
সুতরাং, যদি ইনপুটটি D =[5, 6] এর মত হয়; a =1; b =3, তাহলে আউটপুট হবে 11।
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
n := size of D s := 0 for initialize i := a - 1, when i < b - 1, update (increase i by 1), do: s := s + D[i] return s
উদাহরণ
আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -
#include <bits/stdc++.h> using namespace std; int solve(vector<int> D, int a, int b){ int n = D.size() + 1; int s = 0; for (int i = a - 1; i < b - 1; i++){ s = s + D[i]; } return s; } int main(){ vector<int> D = { 5, 6 }; int a = 1; int b = 3; cout << solve(D, a, b) << endl; }
ইনপুট
{ 5, 6 }, 1, 3
আউটপুট
11