Cannoniere 80/100

Non capisco dove sbaglio https://pastebin.com/M2g1apfn

Non ho capito perché ma a quanto pare se più giocatori hanno lo stesso numero di reti, il giocatore da stampare è quello con l’ identificativo minore.
Dal testo non si capisce, ci sono arrivato dopo aver confrontato la mia soluzione con la tua su questo input :

3
10 1
8 1
9 1

La mia soluzione da 100 restituisce 8 1 mentre la tua 10 1.
Comunque evita di leggere più volte gli stessi dati dal file di input, piuttosto salvali in memoria e riusali.
A volte solo leggere i dati in input porta via la maggior parte del tempo di esecuzione.
Inoltre ti consiglio di vedereti std::map che in questo esercizio ti avrebbe risparmiato il lavoraccio di crearti un vettore grande quanto il massimo dei identificatori.
Un esercizio carino dove usare la mappa è uefa.

Si anche per me è giusto quello che dici, e nell’altra piattaforma avevo anche scritto:

Confermo che, almeno per il test case 9, se si stampa il giocatore con il numero di maglia maggiore il correttore segnala errore.
Mi sembra che delle due una:
o nel testo manca la clausola che dice che nel caso in cui più giocatori abbiano effettuato il massimo numero di goal va stampato quello col numero di maglia più basso
oppure il correttore dovrebbe accettare un numero di maglia qualsiasi fra quelli dei primi classificati ex-aequo.

Aggiungerei anche come terza ipotesi:
oppure formulare i test case in modo che non si verifichi mai il caso in cui
ci siano più giocatori con il massimo numero di reti.

1 Mi Piace