Zbieramy dane w postaci tablic, których elementy mają postać:
struct TCnt { int id_obiektu, licznik; }
każda taka tablica (inputowa) jest dodatkowo opatrzona grupą i typem:
int grupa, typ;
razem wygląda to tak:
struct Tab {
int grupa, typ;
int cnt; // liczba elementów
TCnt t[1]; // faktycznie cnt sztuk
};
I takich tablic może być dowolnie dużo, całkiem bez kozery 1000;
każda ma od kilku do kilkuset elementów.
Należy szybko posumować te tablice ale oddzielnie dla każdej z grup,
i z uwzględnieniem typów, znaczy wyniki trzymamy w tablicach o innych elementach:
struct TFCnt { int id_obiektu, typ, licznik; }
wyniki zapisujemy do tablic typu:
struct TGrupa {
int grupa;
int cnt;
TFCnt t[1];
};
Typów jest tylko do 250 (bajt), a obiektów mogą być grube tysiące (int), grup mamy znowu setki.
Razem będzie tego dość dużo.
Można to jakoś sprawnie zrobić - haszem albo drzewem?