Drill

ProblemsC++ › billing

How much is still owed

easybillingArraysMathC++

Compare the amount due against a list of payments already received and return the shortfall.

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.

Solve it in Python →

Where you start

int balanceShortfall(int due, std::vector<int> payments) {
    
}

Worked examples

CallResult
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);
}

The same problem in another language

More billing problems in C++