#include <iostream>
#include <vector>

int batch_count(int items, int capacity) {
    int batches{items / capacity + (items % capacity != 0 ? 1 : 0)};
    return batches;
}

struct Case {
    int items;
    int expected;
};

int main() {
    const std::vector<Case> cases{{0, 0}, {1, 1}, {5, 1}, {6, 2}};
    const int expected_count{4};
    int executed{0};
    int failures{0};
    for (const auto& test : cases) {
        const int actual{batch_count(test.items, 5)};
        ++executed;
        if (actual != test.expected) {
            ++failures;
        }
    }
    if (executed != expected_count) {
        ++failures;
    }
    std::cout << "executed=" << executed << " expected=" << expected_count
              << " failures=" << failures << '\n';
    return failures == 0 ? 0 : 1;
}
