How much is still owed
Compare the amount due against a list of payments already received and return the shortfall.
- Shortfall is due minus total payments, clamped at zero.
- An empty payment list means the full amount is still owed.
balanceShortfall(due: int, payments: list<int>) → int
C++ needs a compiler and Drill does not host one yet, so this page is the reference rather than an exercise: the problem, worked examples, and the solution in full. To type it out, the same problem runs in Python.
Where you start
int balanceShortfall(int due, std::vector<int> payments) {
}
Worked examples
| Call | Result |
|---|---|
balanceShortfall(10000, std::vector<int>{3000, 4000}) | 3000 |
balanceShortfall(5000, std::vector<int>{5000}) | 0 |
balanceShortfall(5000, std::vector<int>{6000}) | 0 |
balanceShortfall(1000, std::vector<int>{}) | 1000 |
Hint
Sum the payments and subtract from due.
Reference solution in C++
int balanceShortfall(int due, std::vector<int> payments) {
int paid = 0;
for (int p : payments) paid += p;
return std::max(0, due - paid);
}