[C++] Gara

C’è una gara di corsa in città. A partecipare a questa gara ci sono N persone. La gara
viene svolta in un rettilineo (“infinito”). Tutti i corridori corrono nella stessa
direzione. I partecipanti sono numerati da 1 a N. La gara non è completamente equa.
Infatti ogni partecipante non parte dallo stesso punto, ma ha un vantaggio di un certo
numero di metri (considerato rispetto al punto di partenza). Si consideri il vettore A,
A[i] denota il vantaggio in metri del partecipante numero i. Inoltre non ogni
partecipante della corsa procede alla stessa velocità. In particolare il partecipante con
numero i correrà con una velocità di B[i], espressa in metri per unità di tempo.
Vengono dati in input M valori di tempo, dire per ogni valore di tempo fornito in
input qual è il partecipante che si trova in vantaggio, ovvero più distante dal punto di
partenza, considerando che corra con una velocità costante (se più partecipanti si
trovano alla stessa distanza dalla partenza, considerare quello con numero più
piccolo).

Input (input.txt)
La prima riga dell’input contiene due numeri, N e M, separati da uno spazio.
La riga successiva contiene N numeri separati da uno spazio, cioè i valori di A[1],
A[2], … , A[N].
La riga successiva contiene N numeri separati da uno spazio, cioè i valori B[1],
B[2], …, B[N].
L’ultima riga dell’input contiene M numeri, separati da uno spazio, gli M valori di
tempo per cui si dovrà computare una risposta come descritto dal testo del problema.

Output (output.txt)
Il file di output dovrà contenere esattamente M righe. Data la sequenza degli M
valori di tempo, si stampi per ogni riga il numero del giocatore che si trova in
vantaggio (seguendo la consegna del testo del problema).

input.txt       output.txt
2 2               1 2
1 0
4 6
0 1

SOLUZIONE
 Per ogni valore di tempo si calcola la distanza di arrivo, poi si terrà conto della distanza massima.

Related Posts Plugin for WordPress, Blogger...