Salve, ho tentato di risolvere questo problema ma ottengo solo 10/100 nonostante la soluzione sembra corretta e sul mio pc funziona. Potreste dirmi cosa ho sbagliato? Ecco il mio codice:
Ad occhio, la tua soluzione ha una complessità esponenziale: se vuoi risolvere il problema ti conviene leggere qualcosa sulla programmazione dinamica e in particolare sul knapsack problem.
Per la programmazione dinamica, posso consigliarti la guida alle selezioni territoriali del professor Bugatti, mentre per il Knapsack non penso si trovi moltissimo in italiano ma dovresti farcela magari aiutandoti con qualche video su YouTube, ad esempio:
Per quanto riguarda il codice, mi pare di capire che utilizzi l’intero mask(32 bit) per indicare quali piatti siano presi e quali no, se è così allora la tua soluzione non può comunque funzionare per N > 32, mi sembra quindi normale che non totalizzi più di 10 punti e formuli un output sbagliato per alcuni dei testcase in cui non eccede il tempo limite, dovresti cercare un altro modo per gestire quali piatti fanno parte della soluzione