Oi galere
Estou entrando em uma crise existencial com um problema aqui, o hiperprimos ( https://www.urionlinejudge.com.br/judge/pt/problems/view/1602 ) que já faz mais de 3h30 que eu já deveria ter ido dormir mas continuo empacado nele! Enfim ;)
O meu programa precisa funcionar para todo N até 2.10⁶, então meu vetor de hiperprimos vai até 2.10⁶, pelo que entendi. Pois bem, a partir de ~1047625 ele começa a dar Segmentation fault (curiosidade: com o valor que eu escrevi aqui (1047625), aconteceu de eu compilar e ele funcionar, compilar de novo sem mudar exatamente nada e ele dar segmentation fault, compilar mais uma vez sem mudar nada e funcionar, etc). Já tentei trocar os int por unsigned int ou coisas do gênero mas não está rolando.
Alguma alma caridosa faz ideia do que esta se passando? O problema eh a logica do algoritmo, eu tenho que desenvolver algo que utilize menos memoria? Quando coloco MAX = 1000000 ele funciona bonitinho, talvez se eu criar dois vetores de tamanho 1000000 eh uma saída? Vou tentar amanhã (acabei de ter essa ideia enquanto escrevo mas já estou derrotado pelo exercício :p )
Estou enviando meu código já meio comentado em anexo. Desde já, obrigado (está salvo como .cpp mas está feito em C normal).