Salve , prima di tutto voglio augurare buona fortuna a tutti per la prossima selezione.
Comunque , il seguente codice funziona in locale (Controllato input e output uguali agli allegati)
Ma durante l’esecuzione sulla piattaforma il risultato e’ 0/100.
Non inizializzi r, ad ogni esecuzione del tuo programma è potenzialmente diverso.
Per ottimizzare ti farei notare per prima cosa come il tuo sia un algoritmo \mathcal O(N^2) - per ogni inserimento scorri tutto l’array con i precedenti. Con i limiti del problema ti serve un modo di sapere più rapidamente se una stringa è già stata vista. Puoi usare un std::set<string> per cercare una stringa in \mathcal O(logN) invece che \mathcal O(N)
Ah, e il loop in IsInTarget dovrebbe avere >= 0 come condizione di continuazione, con != 0 non controllerai mai l’elemento in 0
Aggiungo anche che apri i file di input e output ma non li usi mai
freopen mi fa il redirect dell’input all’stdin , se provi il codice in locale funziona con gli esempi dati dal sito.
Quindi teoricamente dovrebbe contarmi la prima task corretta , pero’ viene contata anche quella sbagliata