Visto che a priori so di quanto deve essere grande ciascun array grazie al mio 4° numeretto, non si può fare in modo che appena l'array arrivi a tale dimensione (nel mio caso 52790) si passi a memorizzare nell'altro array e così via finchè non finisce il file
ma tu avevi detto che quel numero rappresentava il numero totale di el, cioè la somma di tutte le 3 categorie. Se invece rappresenta il numero di el per categoria, basta che usi un contatore e quando questo raggiunge la soglia lo azzeri passi ad un nuovo array e ricominci

Dalla terza riga in poi compaiono i valori che mi interessano divisi in tre categorie che si susseguono (cioè se ho 99 valori avrò 33 valori categoria a, 33 valori cat b e 33 cat c).
dato che nell'ultima riga di ogni categoria ci possono essere meno di 4 o 6 elementi, secondo me la via migliore è dire finche ogni il primo numero di ogni elemento è maggiore del precendente copio nello stesso array, quando ne trovo uno minore passo ad un array nuovo.