#include <iostream>
#include <vector>
struct ResourceFootprint {
int power;
int water;
int oil;
int food;
int medicine;
int medical_waste;
};
int main()
{
ResourceFootprint ice_well = {-100, +50};
ResourceFootprint solar_array = {+150, 0};
ResourceFootprint hospital = {-100, -50, 0, -50, -50, 50};
ResourceFootprint gas_station = {-10, 0, -100, 0, 0, 0};
ResourceFootprint restaurant = {-20, -20, 0, -100, 0, 0};
ResourceFootprint farm = {-10, -30, -10, 200, 0, 0};
std::vector<ResourceFootprint> buildings;
buildings.push_back(ice_well);
buildings.push_back(ice_well);
buildings.push_back(solar_array);
buildings.push_back(solar_array);
buildings.push_back(farm);
buildings.push_back(hospital);
ResourceFootprint total = {0, 0, 0, 0, 0, 0};
for (const ResourceFootprint& r : buildings)
{
total.power += r.power;
total.water += r.water;
total.oil += r.oil;
total.medicine += r.medicine;
total.medical_waste += r.medical_waste;
total.food += r.food;
}
std::cout << "Power: " << total.power << "\n";
std::cout << "Water: " << total.water << "\n";
std::cout << "Oil: " << total.oil << "\n";
std::cout << "Medicine: " << total.medicine << "\n";
std::cout << "Waste: " << total.medical_waste << "\n";
std::cout << "Food: " << total.food << "\n";
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgoKIHN0cnVjdCBSZXNvdXJjZUZvb3RwcmludCB7CiAgICBpbnQgcG93ZXI7CiAgICBpbnQgd2F0ZXI7CiAgICBpbnQgb2lsOwogICAgaW50IGZvb2Q7CiAgICBpbnQgbWVkaWNpbmU7CiAgICBpbnQgbWVkaWNhbF93YXN0ZTsKfTsKCmludCBtYWluKCkKewogICAgUmVzb3VyY2VGb290cHJpbnQgaWNlX3dlbGwgPSB7LTEwMCwgKzUwfTsKICAgIFJlc291cmNlRm9vdHByaW50IHNvbGFyX2FycmF5ID0geysxNTAsIDB9OwogICAgUmVzb3VyY2VGb290cHJpbnQgaG9zcGl0YWwgPSB7LTEwMCwgLTUwLCAwLCAtNTAsIC01MCwgNTB9OwogICAgUmVzb3VyY2VGb290cHJpbnQgZ2FzX3N0YXRpb24gPSB7LTEwLCAwLCAtMTAwLCAwLCAwLCAwfTsKICAgIFJlc291cmNlRm9vdHByaW50IHJlc3RhdXJhbnQgPSB7LTIwLCAtMjAsIDAsIC0xMDAsIDAsIDB9OwogICAgUmVzb3VyY2VGb290cHJpbnQgZmFybSA9IHstMTAsIC0zMCwgLTEwLCAyMDAsIDAsIDB9OwoKICAgIHN0ZDo6dmVjdG9yPFJlc291cmNlRm9vdHByaW50PiBidWlsZGluZ3M7CiAgICBidWlsZGluZ3MucHVzaF9iYWNrKGljZV93ZWxsKTsKICAgIGJ1aWxkaW5ncy5wdXNoX2JhY2soaWNlX3dlbGwpOwogICAgYnVpbGRpbmdzLnB1c2hfYmFjayhzb2xhcl9hcnJheSk7CiAgICBidWlsZGluZ3MucHVzaF9iYWNrKHNvbGFyX2FycmF5KTsKICAgIGJ1aWxkaW5ncy5wdXNoX2JhY2soZmFybSk7CiAgICBidWlsZGluZ3MucHVzaF9iYWNrKGhvc3BpdGFsKTsKCiAgICBSZXNvdXJjZUZvb3RwcmludCB0b3RhbCA9IHswLCAwLCAwLCAwLCAwLCAwfTsKICAgIGZvciAoY29uc3QgUmVzb3VyY2VGb290cHJpbnQmIHIgOiBidWlsZGluZ3MpCiAgICB7CiAgICAgICAgdG90YWwucG93ZXIgKz0gci5wb3dlcjsKICAgICAgICB0b3RhbC53YXRlciArPSByLndhdGVyOwogICAgICAgIHRvdGFsLm9pbCArPSByLm9pbDsKICAgICAgICB0b3RhbC5tZWRpY2luZSArPSByLm1lZGljaW5lOwogICAgICAgIHRvdGFsLm1lZGljYWxfd2FzdGUgKz0gci5tZWRpY2FsX3dhc3RlOwogICAgICAgIHRvdGFsLmZvb2QgKz0gci5mb29kOwogICAgfQoKICAgIHN0ZDo6Y291dCA8PCAiUG93ZXI6ICIgPDwgdG90YWwucG93ZXIgPDwgIlxuIjsKICAgIHN0ZDo6Y291dCA8PCAiV2F0ZXI6ICIgPDwgdG90YWwud2F0ZXIgPDwgIlxuIjsKCXN0ZDo6Y291dCA8PCAiT2lsOiAiIDw8IHRvdGFsLm9pbCA8PCAiXG4iOwoJc3RkOjpjb3V0IDw8ICJNZWRpY2luZTogIiA8PCB0b3RhbC5tZWRpY2luZSA8PCAiXG4iOwoJc3RkOjpjb3V0IDw8ICJXYXN0ZTogIiA8PCB0b3RhbC5tZWRpY2FsX3dhc3RlIDw8ICJcbiI7CglzdGQ6OmNvdXQgPDwgIkZvb2Q6ICIgPDwgdG90YWwuZm9vZCA8PCAiXG4iOwogICAgcmV0dXJuIDA7Cn0K