Aparcant a Ciutat Plana

Com ja coneixeu, Ciutat Plana és una ciutat construïda a un costat i l'altre de l'únic carrer que la travessa de punta a punta. A més, la gent és molt sedentaria i detesten caminar més que cap altra cosa al món. A l'hora d'aparcar el cotxe, el volen deixar just al davant de la porta de casa. Si no troben lloc al davant de la porta de casa, el deixen passat casa seva però el més a prop possible, tot i que no els importa aparcar lluny doncs han fet un carril bus que va en sentit contrari i esperaran al bus fins arribar a casa. Si no trobessin lloc, com que en sentit contrari només pot circular el bus, faran una volta visitant els pobles veïns fins arribar de nou a la carretera que els porta novament a l'entrada de la ciutat.
Darrerament, aparcar a Ciutat Plana s'està convertint en tota una aventura, donat que els seus habitants han descobert el comerç on line i ja no els cal sortir de casa per res. Així doncs, els carrers de Ciutat Plana es troben plens de cotxes aparcats, sense gent als carrers, però amb uns quants cotxes buscant aparcament prop de casa que comparteixen espai amb els repartidors. Aquest darrers, però, no tenen problemes per aparcar doncs, si cal, s'aturen al mig del carrer per lliurar la comanda.
Partint d'una situació on tot el carrer es troba ple de cotxes aparcats i un registre d'entrades i sortides de cotxes, podeu dir en quants llocs podria aparcar cada cotxe?
Entrada
L'entrada comença amb dos números: el nombre \(N\) de vehicles detectats \(( 1 \le N \le 10.000)\) i la llargada \(C\) del carrer \(( 1 \le C \le 1.000.000)\).
A continuació venen \(N\) línies, una per cada acció a processar que pot ser:
IN\(a\) indica que un cotxe entra al carrer buscant aparcament i que el conductor viu al número \(a\)OUT\(b\) indica que ha sortit un cotxe que estava aparcat davant del número \(b\)
Sortida
Per a cada cotxe que entra, cal indicar el nombre d'opcions d'aparcament que tindrà.
Exemple d'Entrada
11 100
IN 4
OUT 4
IN 36
OUT 33
IN 14
OUT 52
OUT 51
IN 1
IN 45
IN 51
IN 52
Exemple de Sortida
0
0
1
3
2
1
0
Explicació del cas
- Partim del carrer ple de cotxes
- El primer cotxe (IN 4) no aconsegueix trobar aparcament. --> 0
- La segona línia (OUT 4) deixa un lloc lliure al número 4
- El cotxe de la tercera línia (IN 36) s'ha saltat el lloc lliure al número 4 perquè encara no havia arribat a casa seva. El lloc davant de casa seva està ocupat i ja no troba lloc més endavant. --> 0
- La quarta línia (OUT 33) deixa un lloc lliure al número 33. Ja tenim dos llocs lliures: [4, 33]
- El cotxe de la cinquena línia (IN 14) es salta el lloc lliure al número 4 i comença a buscar a partir del 14 trobant lloc al número 33. Aparca a l'única opció que tenia. Tornem a tenir un únic lloc lliure al [4] --> 1
- La setena i vuitena línies deixen dos nous llocs lliures [4, 51, 52]
- El cotxe de la vuitena línia (IN 1) troba lloc a prop de casa al número 4. També podia haver aparcat al 51 i al 52. La llista de llocs lliures queda en [51, 52] --> 3
- El cotxe de la novena línia (IN 45) troba lloc a prop de casa al número 51. També podia haver aparcat al 52. La llista de llocs lliures és [52] --> 2
- El cotxe de la desena línia (IN 51) troba lloc a prop de casa al número 52, a l'únic espai disponible. La llista de llocs lliures es redueix a [] --> 1
- El cotxe de la onzena línia (IN 52) ja no troba cap espai lliure --> 0
Comentaris