Perche funziona? (Viaggio Intrigante)

Stavo guardando la soluzione (N logN) di questo problema e non mi capacito del perche funzioni, dato che la mia idea alla base era la stessa ma a lui funziona e a me no. Prima cosa: invece di fare vettore X e Y, non si puo direttamente chiedere le coordinate nel secondo ciclo e togliere quindi il primo ciclo di input (mi riferisco alla soluzione sul wiki)? Secondo problema: quando memorizza il successivo, se uscisse dalla mappa (quindi la x della citta appena inserita non ha una citta con x maggiore), non dovrebbe dare errore? Stesso dubbio col precedente; se la x della citta appena inserita non ha una citta con x minore, non dovrebbe dare errore?

Spero di essere stato chiaro.
Grazie mille in anticipo.

proof by ac

4 Mi Piace

1- si l’input lo puoi anche predere in un tempo successivo ma non ti tocca la complessità, quindi è totally indifferente
2-per quando riguarda il rischio degli out of range, righe 17-18 evitano che questo succeda:

 pos[-1] = {-1, -1};
 pos[1e9 + 10] = {1e9 + 10, 1e9 + 10};
2 Mi Piace