मान लीजिए कि हमारे पास n-1 तत्वों के साथ एक सरणी D है और दो मान a और b हैं। एक सेना में 1 से n तक की संख्याएँ होती हैं। रैंक I से रैंक i+1 तक बढ़ने के लिए किसी को D[i] वर्ष चाहिए। अमल अभी नई रैंक 'ए' पर पहुंचा है लेकिन वह रैंक 'बी' तक पहुंचना चाहता है। हमें गिनना होगा कि उसे अपने लक्ष्य तक पहुँचने के लिए कितने वर्षों की आवश्यकता होगी।
तो, अगर इनपुट डी =[5, 6] जैसा है; ए =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