int timestamp[1024][1024], TS;
int calc(int i, int j) {
if (timestamp[i][j] == TS)
return mem[i][j];
...
timestamp[i][j] = TS;
mem[i][j] = maior;
}
int main() {
memset(timestamp, 0, sizeof(timestamp));
TS = 0;
...
TS++; // Zera matriz
int resp = calc(0, 0);
}
Adaptado de 2015, Ricardo Oliveira. MEDITEC 6. PD Aplicado a Competições de Programação.