41 lines
681 B
C++
41 lines
681 B
C++
#include <vector>
|
|
#include <iostream>
|
|
#include <fstream>
|
|
#include <string>
|
|
|
|
std::vector<int> read_input_file() {
|
|
std::ifstream file("input");
|
|
std::vector<int> data;
|
|
std::string line;
|
|
|
|
while(std::getline(file, line))
|
|
data.push_back(std::stoi(line));
|
|
|
|
return data;
|
|
}
|
|
|
|
int calculate_fuel(int mass) {
|
|
return (mass / 3) - 2;
|
|
}
|
|
|
|
int main() {
|
|
auto data = read_input_file();
|
|
|
|
int result_a = 0;
|
|
int result_b = 0;
|
|
|
|
for(auto &input : data) {
|
|
int fuel = calculate_fuel(input);
|
|
result_a += fuel;
|
|
|
|
while(fuel > 0){
|
|
result_b += fuel;
|
|
fuel = calculate_fuel(fuel);
|
|
}
|
|
}
|
|
|
|
std::cout << result_a << ", " << result_b << std::endl;
|
|
|
|
return 0;
|
|
}
|