// Sample C++20 program — samplefiles.com
#include <iomanip>
#include <iostream>
#include <numeric>
#include <string>
#include <vector>

struct Customer {
    int id;
    std::string name;
    double balance;
    [[nodiscard]] bool is_vip() const { return balance >= 10'000; }
};

double total_balance(const std::vector<Customer>& customers) {
    return std::accumulate(customers.begin(), customers.end(), 0.0,
                           [](double sum, const Customer& c) { return sum + c.balance; });
}

int main() {
    const std::vector<Customer> customers{{1, "Ada", 12'500}, {2, "Grace", 830.5}, {3, "Linus", 10'000}};
    for (const auto& c : customers)
        std::cout << std::left << std::setw(7) << c.name << std::right << std::setw(10) << std::fixed
                  << std::setprecision(2) << c.balance << (c.is_vip() ? " VIP" : "") << '\n';
    std::cout << "Total: " << total_balance(customers) << '\n';
}
