PROG0403 - New York Times
For whoever thinks that people in the good old days— before calculators and computers — were a lot better at mental arithmatic, an awakening article in the New York Times of 1 January 2000 indicates that this wasn't necessarily true. Apparently, on 6 February 1898, someone at the editorial office wasn't thinking clearly while editing the front page for the next day. When adding one unit to the serial number 14499 in the upper left corner, he ended up with 15000.
The odd thing is that the mistake wasn't noticed until the end of 1999. Therefore, on 1 January 2000, the New York Times turned back its serial number from 51,753 to 51,254. An article on 14 March 1995 celebrating the 50,000th edition of the paper, actually came 500 days early. It should have been published on 26 July 1996.
The mistake was unveiled when 24-year-old news assistant Aaron Donovan started wondering about the history of the serial numbers he had to edit at the New York Times' editorial office during the night. He wondered whether any mistakes had happened before when numbering the papers. Using a spreadsheet program, he made an overview of the dates on which the paper had been published since its foundation on 18 September 1851. This is how he noticed that the serial number of the current editions actually had to be subtracted by 500.
The archives of the paper indicated that the New York Times didn't have a Sunday edition during the first 500 weeks of its existence. After that, the Sunday edition was seen as an expansion of the Saturday edition for 2,296 weeks (until April 1905), carrying the same serial number. In the starting days, some editions were jumped over during bank holidays. During an 88 days' strike in 1978, not a single paper was published. During five prior labor disputes, serial numbers were appointed to issues that hadn't been published, purely to fill the archives.
Eventually, after looking at countless books with historic front pages and roles of microfilm, Aaron Donovan's eye fell on a date with a gap of 500 issues. In a memo, he wrote the following: "There is something that appeals to me about the way the issue number marks the passage of time across decades and centuries. It has been steadily climbing for longer than anyone who has ever glanced at it has been alive. The 19th-century newsboy hawking papers in a snowy Union Square is in some minute way bound by the issue number to the Seattle advertising executive reading the paper with her feet propped up on the desk."
Input
The first line of the input contains a number $i \in \mathbb{Z}$, which we call the increment. After that line, a sequence of zeroes or more whole numbers follow, each on a separate line. This sequence is closed with a line that consists of the text NYT.
Output
We assume that every next number from the sequence is the result of the sum of the increment and the last number. For every number in the sequence to which this condition doesn't apply, a line of the format last -> next (difference) should be printed. The fragments in italics indicate respectively the former number of the sequence and the next number and the difference between those numbers. The difference should always be preceded by either a plus or a minus (and we write +0, not -0). The sequence of numbers can either contain zero or more mistakes.
Example
Input:
1 14490 14491 14492 14493 14494 14495 14496 14497 14498 14499 15000 15001 15002 15003 15004 15005 15006 15007 15008 15009 15010 NYT
Output:
14499 -> 15000 (+501)
Voor wie zweert bij het feit dat mensen in de goeie oude tijd — voor rekenmachines en computers — veel beter waren in hoofdrekenen, verscheen op 1 januari 2000 een ontnuchterend artikel in de New York Times dat aantoont dat dit niet noodzakelijk het geval was. Blijkbaar was op 6 februari 1898 iemand op de redactie van de krant er met zijn hoofd niet zo goed bij toen hij de voorpagina van de editie voor de volgende dag aan het voorbereiden was. Toen hij een eenheid wilde optellen bij het volgnummer 14499 in de linkerbovenhoek, kwam hij uit bij het volgnummer 15000.
Vreemd genoeg is deze fout onopgemerkt gebleven tot eind 1999. Dus draaide de New York Times op 1 januari 2000 de klok terug naar het correcte volgnummer, en werd het volgnummer van die dag 51254 in plaats van 51753. Het artikel dat op 14 maart 1995 in de krant verscheen ter gelegenheid van de 50000e uitgave kwam dus eigenlijk 500 dagen te vroeg. Het had eigenlijk moeten verschijnen op 26 juli 1996.
De fout kwam aan het licht toen de 24-jarige nieuwsassistent Aaron Donovan zich vragen begon te stellen over de historiek van de volgnummers, die hij 's nachts moest bijwerken toen hij op de nieuwsdienst van de New York Times aan het werk was. Hij vroeg zich af of er mogelijk fouten in de nummering geslopen waren. Met behulp van een spreadsheetprogramma maakte hij een overzicht van de datums waarop de krant was uitgegeven sinds zijn oprichting op 18 september 1851. Daardoor merkte hij op dat het volgnummer van de huidige edities eigenlijk 500 te hoog was.
De archieven van de krant gaven aan dat de New York Times tijdens de eerste 500 weken geen zondageditie had. Daarna werd de zondageditie 2296 weken lang (tot april 1905) beschouwd als een uitbreiding van de zaterdageditie, en droeg ze hetzelfde volgnummer. In de begindagen werden er een aantal publicaties overgeslaan op feestdagen. Er werd geen enkele krant uitgegeven tijdens een stakingsperiode van 88 dagen in 1978. Tijdens vijf voorgaande arbeidsconflicten werden toch volgnummers toegewezen aan niet-uitgegeven edities, vaak omdat er later alsnog louter voor de archieven een editie opgesteld werd.
Uiteindelijk, na het bekijken van heel wat boeken met historische voorpagina's en rollen aan microfilms, viel het oog van Aaron Donovan op de datum waar een kloof van 500 uitgaven was gevallen. In een memo tekende Donovan het volgende op: "There is something that appeals to me about the way the issue number marks the passage of time across decades and centuries. It has been steadily climbing for longer than anyone who has ever glanced at it has been alive. The 19th-century newsboy hawking papers in a snowy Union Square is in some minute way bound by the issue number to the Seattle advertising executive reading the paper with her feet propped up on the desk."
Invoer
De eerste regel van de invoer bevat een geheel getal $i \in \mathbb{Z}$, dat we het increment noemen. Daarna volgt een reeks van nul of meer gehele getallen, elk op een afzonderlijke regel. Deze reeks getallen wordt afgesloten met een regel die enkel de tekst NYT bevat.
Uitvoer
Er wordt verondersteld dat elk volgend getal uit de reeks bekomen wordt door het increment op te tellen bij het vorige getal. Voor de getallen uit de reeks waarvoor deze voorwaarde niet geldt, moet een regel uitgeschreven worden van de vorm vorige -> volgende (verschil). Hierbij stellen de cursieve fragmenten respectievelijk het vorige getal uit de reeks, het volgende getal uit de reeks, en het verschil tussen het volgende en het vorige getal uit de reeks voor. Het verschil moet telkens voorafgegaan worden door een plus- of minteken (en we schrijven +0 en niet -0). Merk op dat in de reeks getallen dus nul of meer fouten kunnen voorkomen.
Voorbeeld
Invoer:
1 14490 14491 14492 14493 14494 14495 14496 14497 14498 14499 15000 15001 15002 15003 15004 15005 15006 15007 15008 15009 15010 NYT
Uitvoer:
14499 -> 15000 (+501)
Added by: | Peter Dawyndt |
Date: | 2013-06-05 |
Time limit: | 10s |
Source limit: | 50000B |
Memory limit: | 1536MB |
Cluster: | Cube (Intel G860) |
Languages: | PY_NBC |
Resource: | None |