Ois_olimpo, suggerimento per l'ottimizzazione

Ciao a tutti
Ho provato a risolvere il seguente problema
https://cms.di.unipi.it/#/task/ois_olimpo/statement

Ottenendo però 70/100 con 4 casi di timeout
Il sorgente utilizza una coda in modo da poter “emulare” un procedimento ricorsivo.
Praticamente ha lo stesso procedimento della funzione calculateAt ma viene eseguita con un while

Purtroppo sono molto vicino ai limiti di tempo (1,008s) e vorrei migliorare la soluzione
Secondo voi conviene pensare ad un altro algoritmo o posso semplicemente sostituire per esempio con
altre strutture dati piu efficienti (ad esempio il vector come coda non penso sia il meglio)

la mia soluzione è la seguente
https://pastebin.com/cRb1gr9d

Grazie