สมมติว่าเรามีอาร์เรย์ D ขนาด n-1 และค่า a, b ในกองทัพมียศ 1 ถึง n ต้องใช้ D[i] ปีขึ้นจากยศ i ไป i+1 อมลเพิ่งขึ้นยศ 'a' อยากไปยศ 'b' ต้องนับปีที่ต้องใช้
เช่น ถ้าอินพุตคือ D = [5, 6]; a = 1; b = 3 เอาต์พุตจะเป็น 11
ขั้นตอนการแก้ปัญหา
n := ขนาดของ D
s := 0
for i := a - 1 ถึง b - 2:
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