Nonostante nelle assunzioni del problema compaia 2 <= N <= 8 000 000, sottomettendo un file con solo
assert(N <= 8000000)
, il testcase 16 da “
Execution killed with signal 11 ”, che immagino significhi che l’assert non è andato a buon fine…
C’è qualcosa che mi sfugge?
mark03
11 Settembre 2014, 2:03pm
2
Di solito da quell’errore quando superi la memoria consentita per l’esecuzione del programma o se accedi ad aree di memoria non allocate… Prova a rimuovere l’assert e vedrai che il problema dovrebbe persistere.
Forse non mi sono spiegato, ho provato ad inviare questo:
#include <cassert>
int solve(int N, int S[]) {
assert(N <= 8000000);
return 0;
}
e da quell’errore proprio sul testcase 16.
mark03
11 Settembre 2014, 2:26pm
4
Mi sa che hai ragione… Non a caso quel testcase è quello in cui il mio programma ci mette di più…
Con ulteriori test ho stabilito che 8200000<=N<=8500000.
Non credo che sia un problema insormontabile, però ho voluto comunque segnalarlo: i testcase dovrebbero sempre rispettare le assunzioni!
wil93
11 Settembre 2014, 5:29pm
6
Con ulteriori test ho stabilito che 8200000<=N<=8500000.Delfad0r
8398080 per l'esattezza... :P
Comunque hai ragione :) correggo il prima possibile. Stanotte (se non me lo dimentico) mando in rivalutazione tutte le sottoposizioni.