Cerință
RAU-Gigel testează un joc cu trageri și premii. Jocul constă într-o serie de acțiuni care au loc la anumite momente de timp. Acțiunile pot fi: (1) aparițiile unor premii sau (2) trageri. Premiile apar la anumite înălțimi, pentru un interval de timp bine definit. Tragerile au loc la anumite momente de timp și se propagă în spațiu instantaneu. RAU-Gigel câștigă câte un punct pentru fiecare premiu ochit.
Din păcate, RAU-Gigel nu și-a calibrat bine trăgătorul, astfel încât fiecare tragere devine activă numai între două înălțimi date: , interval numit rază de acțiune. Așadar, RAU-Gigel nu va câștiga puncte decât pentru premiile aflate în raza de acțiune a fiecărei trageri.
Dacă o tragere are loc exact în același moment în care apare un premiu în raza ei de acțiune, acesta se consideră ”ochit”. Similar, dacă un premiu este programat să dispară la un moment de timp în care are loc o tragere, iar el se află în raza de acțiune a tragerii, atunci punctul se consideră câștigat. Un premiu ochit rămâne în joc și poate genera și alte puncte, până la momentul la care este programat să dispară. Nu pot avea loc două trageri în același moment, dar pot exista mai multe premii la aceeași înălțime în același timp și toate sunt generatoare de puncte.
Dându-se numărul de operații de tipul sau , unde:
- Operația – reprezintă un premiu: este momentul în care apare, este numărul de unități de timp cât este programat să existe, iar este înălțimea la care apare;
- Operația – reprezintă o tragere, este momentul în care are loc, iar și reprezintă înălțimile în care tragerea este activă (raza de acțiune).
Să se afle câte puncte câștigă RAU-Gigel la fiecare tragere și care este punctajul cu care termină jocul?
Date de intrare
Fișierul de intrare lasere.in
conține pe prima linie un număr natural . Pe următoarele linii se află operațiile, în ordine crescătoare a momentului de începere a acțiunii, de tipul și , de forma:
- , unde , , sunt numere naturale separate cu un spațiu, cu semnificația de mai sus, reprezintă o operație de tipul ;
- , unde , , sunt numere naturale separate cu un spațiu, cu semnificația de mai sus, reprezintă o operație de tipul .
Date de ieșire
Fișierul de ieșire lasere.out
va conține răspunsurile, în ordinea solicitării, pentru operațiile de tip , câte unul pe linie, iar pe ultimul rând, punctajul lui RAU-Gigel la sfârșitul jocului.
Restricții și precizări
- ,
Exemplul 1
lasere.in
4
1 2 8 4
2 3 5 10
1 5 6 7
2 8 3 8
lasere.out
0
2
2
Explicație
Sunt acțiuni, dintre care trageri (tipul ). La prima tragere RAU-Gigel nu nimerește singurul premiu existent în momentul tragerii (momentul ), pentru că aceasta nu este în raza sa de acțiune.
La a doua tragere, din momentul , RAU-Gigel nimerește ambele premii.
Total: .
Exemplul 2
lasere.in
6
2 2 4 5
1 2 8 4
2 3 5 10
1 5 6 7
2 10 4 8
1 10 3 7
lasere.out
1
0
3
4
Explicație
Sunt acțiuni, dintre care trageri. În momentul au loc acțiuni: o tragere și apariția unui premiu. Pentru că premiul, aflat la înălțimea , este în raza de acțiune a acestei trageri și anume în intervalul , RAU-Gigel câștigă un punct.
La a doua tragere, nu nimerește nimic, singurul premiu existent în acel moment nefiind în raza sa de acțiune.
La a treia tragere, RAU-Gigel mai câștigă puncte, acele premii fiind în raza de acțiune a tragerii (intervalul ). Se numără inclusiv primul premiu, planificat să existe până în momentul , care este și momentul tragerii. De asemenea, se numără și ultimul premiu, apărut chiar în momentul tragerii.
Total: .