Radar per trams


Enviar solució

Punts: 7 (parcial)
Temps Límit: 2.0s
Límit de memòria: 64M

Autors/es:
tipus del problema
Diccionaris, Estructures de Dades
Categoria
Lliga de Programació FP
Llenguatges permesos
C#, C++, Haskell, Java, Kotlin, PHP, Python

Radar de tram

Els radars de tram consisteixen a col·locar dues càmeres en dos punts allunyats d'una carretera per poder comprovar quant de temps triga un cotxe a recórrer aquest tram, sent la velocitat màxima permesa en tot el tram la mateixa.

Un cop sabem quant de temps ha trigat el vehicle a passar d'un punt a un altre, podem calcular la velocitat mitjana del vehicle i, si aquesta velocitat supera la velocitat màxima, es pot afirmar que en algun punt del trajecte aquest vehicle ha anat a una velocitat més elevada de la permesa.

A la pràctica, la primera càmera fa una captura de la matrícula del cotxe i indica el segon del dia en què el cotxe ha passat.

Al segon punt, es fa una nova captura i s'indica el segon en què ha completat el tram.

D'aquesta manera es pot calcular la velocitat i si, un cop arrodonits els decimals, supera la velocitat màxima permesa, ja es pot enviar la multa al conductor, que segur que la pròxima vegada vigilarà més (si més no en aquest tram!).

Objectiu

Es demana que feu un programa que llegeixi la seqüència de cotxes que passen per les càmeres de tram i mostri quants conductors seran multats. Per a cada conductor multat, mostrarà la matrícula i la velocitat a la qual anava.

Entrada

  • A la primera línia hi ha dos números separats per un espai: la distància total en metres \(m\) del tram, i la velocitat màxima permesa \(k\), en kilòmetres per hora.
  • La segona línia indicarà el nombre de cotxes \(n_1\) que ha captat la primera càmera, la que es troba al punt inicial. (\(1 \le n_1 \le 200.000\)).
  • A continuació hi haurà \(n_1\) línies, cadascuna amb la matrícula i el segon en què la primera càmera ha captat el vehicle.
  • A continuació hi ha una línia amb el nombre de cotxes \(n_2\) que ha captat la segona càmera, la del final del tram. (\(1 \le n_2 \le 200.000\))
  • Finalment, hi haurà \(n_2\) línies, cadascuna amb la matrícula i el segon en què la segona càmera ha captat el vehicle. Evidentment, el segon en què un cotxe passa per la segona càmera és més gran que el segon en què ha passat per la primera.

Sortida

  • Per a cada conductor multat, hi haurà una línia amb la matrícula i la velocitat mitjana en kilòmetres/hora a la qual el cotxe ha circulat pel tram.
  • Les matrícules surten en el mateix ordre en què han finalitzat el tram.

Exemple d'Entrada

3000 60
5
AA1234 0
BB1423 5
CC1422 10
DD5555 11
EE678 3600
6
AA1234 100
CC1422 188
DD5555 190
EE678 4000
BB1423 1500
XX1111 1510

Exemple de Sortida

AA1234 108
CC1422 61
Explicació
  • A la primera línia de l'entrada veiem que el tram té 3000 metres i es pot circular a 60 km/h.
  • La càmera 1 ha captat 5 cotxes i la segona càmera, com es pot veure a la línia 7, n'ha captat 6 (a vegades hi ha cotxes que no són captats per alguna càmera)
  • El primer cotxe que ha captat té matrícula AA1234 i ha passat al segon \(0\) pel primer control i al segon 100 pel segon. Com es pot calcular, aquest cotxe ha invertit 100 segons a fer el tram quan, anant a velocitat màxima, en necessitava 180. Per tant, s'emporta una multa perquè ha anat a 108 km/h de mitjana, com es pot observar a la sortida.
  • El cotxe de matrícula CC1422 ha invertit \(188 - 10 = 178\) segons en fer el tram. Arrodonint, ha anat a 61 km/h i, com a resultat, s'emporta la multa.
  • En canvi, el cotxe DD555 ha trigat un segon més. 179 és inferior al mínim de temps permès, però arrodonint, ha anat a 60 km per hora i, per tant, no ha superat el màxim.
  • Notem que la sortida mostra els cotxes multats ordenats per l'ordre en què han completat el tram.

Comentaris

En aquests moments no hi ha comentaris.