Feladat: S.73 Korcsoport: - Nehézségi fok: -
Füzet: 2012/szeptember, 359 - 360. oldal  PDF  |  MathML 

A szöveg csak Firefox böngészőben jelenik meg helyesen. Használja a fenti PDF file-ra mutató link-et a letöltésre.

Nevenincs városban pingpongversenyt készülnek rendezni. Minden versenyzőről tudjuk a lakhelyét, és azt, hogy mennyit hajlandó gyalogolni egy mérkőzés kedvéért. A város alakja erősen elnyújtott, úgyhogy a pontos lakcím helyett csak azt vesszük figyelembe, hogy a város hosszú főutcájának melyik részéhez lakik közel a versenyző, amit egy házszámmal adunk meg, valamint a gyaloglási távolságot is csak a főutca mentén mérjük. (Azaz úgy tekintjük, hogy bárki el tudja érni a főutcát elhanyagolható idő alatt.)
Két adott lakó között pontosan akkor jöhet létre mérkőzés, ha legalább az egyikük hajlandó elsétálni a másikhoz (a mérkőzést mindenképpen valamelyik játékos lakhelyén kell megrendezni), vagyis a házszámuk közötti különbség legfeljebb akkora, amennyit a lelkesebb fél hajlandó gyalogolni.
Írjunk programot, amely meghatározza, hogy a versenyen hányféle mérkőzés jöhet létre. Két mérkőzést akkor tekintünk különbözőnek, ha nem ugyanaz a két játékos vesz részt benne.
A program a standard input első sorából beolvassa a versenyzők számát (1N1000000). A következő N sorban egy-egy versenyzőről található a két ismert adat, két darab, szóközzel elválasztott szám formájában: az első a lakcíme (1A1000000), míg a második megadja, hogy mennyit hajlandó gyalogolni egy mérkőzés kedvéért (0H1000000).
A standard outputra írjunk ki egyetlen számot: a lejátszható mérkőzések számát.

 
Példák:
 
BemenetKimenetBemenetKimenet2121  1 34 1  4 31 36956  3 31 3  2 14 3  1 37 3  6 26 3  7 49 3  5 2

 
Pontozás: A programhoz mellékelt, a helyes megoldás elvét tömören, de érthetően leíró dokumentáció 2 pontot ér. A programra akkor kapható meg a maximális 8 pont, ha bármilyen, a feltételeknek megfelelő tesztesetet képes megoldani a 3 mp futási időlimiten belül. Kapható részpontszám, ha a program csak kisebb tesztesetekre tud lefutni időben, továbbá akkor is, ha a program csak olyan teszteseteket tud megoldani, amiknél a versenyzők által megadott gyaloglási távolságok mind azonosak.
Beküldendő egy tömörített s73.zip állományban a program forráskódja (s73.pas, s73.cpp, ...) az .exe és más, a fordító által generált állományok nélkül, valamint a program rövid dokumentációja (s73.txt, s73.pdf, ...), amely a fentieken túl megadja, hogy a forrás mely fejlesztői környezetben fordítható.