Java - time out

Ciao. Ho provato a risolvere qualche problema delle olimpiadi in Java, la stesura del codice mi viene agile, ma quando li carico sulla piattaforma ottengo pochi punti perché la maggior parte dei casi di test va in time out.
Ho provato anche con un esercizio facilissimo “Halloween candies” sia usando vettori normali che ArrayList, e raggiungo 30 punti (se “traduco” il codice in c++ ottengo 100)
Per ordinare uso Arrays.sort o Collections.sort…,
Qualcuno ha un suggerimento? E’ per caso lento il caricamento dei dati da file, che compromette quindi il resto?
Immagino che se Java è tra i linguaggi consentiti si debba poter prendere il massimo punteggio.
Qualche suggerimento?
Grazie

Ciao,

questa cosa è abbastanza falsa. Nonostante training supporti vari linguaggi, tutti i task sulla piattaforma sono stati pensati per essere risolti in C++ e generalmente non è garantito che siano risolvibili in altri linguaggi.

Java è un linguaggio intrinsecamente più lento perché viene interpretato, mentre C++ viene compilato ed eseguito nativamente, di conseguenza, in un contesto dove la velocità è essenziale, utilizzarlo è svantaggioso.

Sicuramente le operazioni di Input/Output sono tra le cose più lente, quindi di sicuro gestirle in modo più efficiente rispetto alle classi standard può migliorare molto il codice.

Tuttavia ti sconsiglio fortemente di impegnarti per far passare soluzioni in Java, poiché rischi solo di perdere tempo e di non riuscire a far passare una soluzione corretta per via del fattore costante, e mi sembra di capire che C++ lo conosci.

2 Mi Piace