#include <stdio.h>
int main() {
int N, M, D, G, V;
// N: Jumlah Pendonor, M: Jumlah Desa
// Array 2D untuk menyimpan [Jumlah Donor] dan [Total Volume]
// Ukuran disesuaikan: [Desa Max + 1][Gol Darah Max + 1]
int A[101][5] = {0}, B[101][5] = {0};
char *GOL[] = {"", "A", "B", "AB", "O"};
scanf("%d %d", &N
, &M
); // Membaca N dan M sekaligus
// Loop Input dan Agregasi
for (int i = 0; i < N; i++) {
scanf("%d %d %d", &D
, &G
, &V
); // Membaca Desa (D), Golongan (G), Volume (V) A[D][G]++; // Menambah Jumlah (A)
B[D][G] += V; // Menambah Volume (B)
}
// Loop Output
for (int i = 1; i <= M; i++) {
for (int g = 1; g <= 4; g++) {
printf(" %s: %d, %d \n", GOL
[g
], A
[i
][g
], B
[i
][g
]); }
}
return 0;
}
CiNpbmNsdWRlIDxzdGRpby5oPgoKaW50IG1haW4oKSB7CiAgICBpbnQgTiwgTSwgRCwgRywgVjsKICAgIC8vIE46IEp1bWxhaCBQZW5kb25vciwgTTogSnVtbGFoIERlc2EKCiAgICAvLyBBcnJheSAyRCB1bnR1ayBtZW55aW1wYW4gW0p1bWxhaCBEb25vcl0gZGFuIFtUb3RhbCBWb2x1bWVdCiAgICAvLyBVa3VyYW4gZGlzZXN1YWlrYW46IFtEZXNhIE1heCArIDFdW0dvbCBEYXJhaCBNYXggKyAxXQogICAgaW50IEFbMTAxXVs1XSA9IHswfSwgQlsxMDFdWzVdID0gezB9OyAKICAgIGNoYXIgKkdPTFtdID0geyIiLCAiQSIsICJCIiwgIkFCIiwgIk8ifTsKCiAgICBzY2FuZigiJWQgJWQiLCAmTiwgJk0pOyAvLyBNZW1iYWNhIE4gZGFuIE0gc2VrYWxpZ3VzCgogICAgLy8gTG9vcCBJbnB1dCBkYW4gQWdyZWdhc2kKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgTjsgaSsrKSB7CiAgICAgICAgc2NhbmYoIiVkICVkICVkIiwgJkQsICZHLCAmVik7IC8vIE1lbWJhY2EgRGVzYSAoRCksIEdvbG9uZ2FuIChHKSwgVm9sdW1lIChWKQogICAgICAgIEFbRF1bR10rKzsgICAgICAgICAgICAgICAgICAgICAvLyBNZW5hbWJhaCBKdW1sYWggKEEpCiAgICAgICAgQltEXVtHXSArPSBWOyAgICAgICAgICAgICAgICAgIC8vIE1lbmFtYmFoIFZvbHVtZSAoQikKICAgIH0KCiAgICAvLyBMb29wIE91dHB1dAogICAgZm9yIChpbnQgaSA9IDE7IGkgPD0gTTsgaSsrKSB7CiAgICAgICAgcHJpbnRmKCJEZXNhICVkOlxuIiwgaSk7CiAgICAgICAgZm9yIChpbnQgZyA9IDE7IGcgPD0gNDsgZysrKSB7CiAgICAgICAgICAgIHByaW50ZigiICVzOiAlZCwgJWQgXG4iLCBHT0xbZ10sIEFbaV1bZ10sIEJbaV1bZ10pOwogICAgICAgIH0KICAgIH0KCiAgICByZXR1cm4gMDsKfQ==
Desa 1:
A: 0, 0
B: 1, 250
AB: 1, 450
O: 1, 500
Desa 2:
A: 1, 500
B: 1, 200
AB: 0, 0
O: 0, 0
Desa 3:
A: 2, 450
B: 0, 0
AB: 0, 0
O: 1, 350