मान लीजिए हमारे पास n-1 तत्वों की एक सरणी D और दो मान a और b हैं। एक सेना में, 1 से n तक क्रमांकित n रैंक हैं। रैंक i से रैंक i+1 तक पहुंचने के लिए D[i] वर्षों की आवश्यकता होती है। अमल अभी-अभी नई रैंक 'a' पर पहुंचा है लेकिन वह रैंक 'b' तक पहुंचना चाहता है। हमें उन वर्षों की संख्या गिननी है जिनकी उसे अपने लक्ष्य तक पहुंचने के लिए आवश्यकता होगी।
उदाहरण के लिए, यदि इनपुट 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
उदाहरण
बेहतर समझ के लिए निम्नलिखित कार्यान्वयन देखें:
#includeusing namespace std; int solve(vector 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 D = { 5, 6 }; int a = 1; int b = 3; cout << solve(D, a, b) << endl; }
इनपुट
{ 5, 6 }, 1, 3आउटपुट
11