Diving Board
vector<int> build_k_planks(int k, int length1, int length2) {
vector<int> comb (k);
vector<vector<int>> combs;
combs.reserve(k + 1);
fill(comb.begin(), comb.end(), length1);
combs.push_back(comb);
// now modify this vector
for (int i = 0; i < k; i++) {
comb[i] = length2;
combs.push_back(comb);
}
comb.clear();
// now return sum
for (auto i : combs) {
int sum = accumulate(i.begin(), i.end(), 0);
comb.push_back(sum);
}
return comb;
}
int main() {
vector<int> sums = build_k_planks(4, 2, 3);
for (auto i : sums) cout << i << " "; cout << endl;
pause();
sums = build_k_planks(10, 45, 21);
for (auto i : sums) cout << i << " "; cout << endl;
pause();
}Last updated