#include <iostream>
#include <vector>
#include <string>
#include <iomanip>
#include <numeric> // Tidak digunakan di versi ini, tapi bagus untuk sum
using namespace std;
void hitung_volume_donor_singkat() {
int N, M; // N=desa, M=golongan
// 1. Baca N (jumlah desa) dan M (jumlah golongan)
cout << "N (desa) M (golongan): ";
if (!(cin >> N >> M)) return;
// 2. Baca Nama Golongan
vector<string> nama_golongan(M);
cout << "Nama " << M << " golongan (cth: A B O...): ";
for (int i = 0; i < M; ++i) cin >> nama_golongan[i];
// Total volume untuk setiap golongan darah
vector<double> total_volume(M, 0.0);
cout << "\nInput " << N << " desa, masing-masing " << M << " volume (ml):\n";
// 3. Loop input volume per desa
for (int d = 0; d < N; ++d) {
cout << "Desa " << d + 1 << ": ";
for (int g = 0; g < M; ++g) {
double volume;
if (cin >> volume) {
total_volume[g] += volume;
} else {
cerr << "Error input. Program berhenti." << endl;
return;
}
}
}
// 4. Output Hasil
cout << fixed << setprecision(2);
cout << "\n=== Total Volume per Golongan ===\n";
for (int g = 0; g < M; ++g) {
cout << nama_golongan[g] << ": " << total_volume[g] << " ml\n";
}
cout << "=================================\n";
}
int main() {
hitung_volume_donor_singkat();
return 0;
}