Pētera bumbiņas

ļoti grūts
Latvijas Informātikas olimpiādes logo
Uzdevums no Latvijas 36. (2022./2023. m. g.) informātikas olimpiādes (LIO) valsts kārtas.

Stāsts

Pēteris tagad spēlē Riharda izdomāto divdimensiju datorspēli, kurā tiek imitēta bumbiņu nokrišana uz horizontālas virsmas. Virsma tiek attēlota kā horizontāla līnija ar sanumurētām pozīcijām vienas bumbiņas platumā. Pozīciju ir bezgalīgi daudz un tās numurētas ar veseliem skaitļiem, sākot no nulles uz abām pusēm. Sākumā virsma ir tukša. Kādā pozīcijā no augšas viena pēc otras tiek nomestas bumbiņas. Ja bumbiņa nokrīt uz virsmas, tad tā paliek tajā pozīcijā, kurā tā tobrīd atrodas. Ja bumbiņa nonāk pozīcijā ar numuru pp, kurā jau atrodas kāda bumbiņa, tad tā tālāk pārvietojas pēc šādiem noteikumiem (skat. 1. att.):

  1. ja pozīcijā pa labi (numurs p+1p+1) blakus tieši zem esošajai bumbiņai ir brīva vieta, tad bumbiņa pārvietojas uz to (1. att. A vai B);

  2. ja pozīcija pa labi (numurs p+1p+1) blakus tieši zem esošās bumbiņas ir aizņemta, bet pozīcija pa kreisi (numurs p1p-1) ir brīva, tad bumbiņa pārvietojas uz to (1. att. C);

  3. ja abas kaimiņu pozīcijas tieši zem esošās bumbiņas ir aizņemtas, tad bumbiņa paliek pozīcijā pp (1. att. D).

Bumbiņa jaunajā pozīcijā pārvietojas pēc aprakstītajiem likumiem, līdz kamēr apstājas. Ja vispirms deviņas bumbiņas nomet pozīcijā 0 un tad trīs bumbiņas pozīcijā 3, tad iegūst tādu bumbiņu izvietojumu kā parādīts 2. attēlā.

1. attēls: Bumbiņas pārvietošanās noteikumi
1. attēls: Bumbiņas pārvietošanās noteikumi
2. attēls: Pirmo 12 bumbiņu izvietojums
2. attēls: Pirmo 12 bumbiņu izvietojums

Uzrakstiet datorprogrammu, kas dotam bumbiņu mešanas aprakstam nosaka, kur pēc katras nomešanas reizes apstāsies pēdējā nomestā bumbiņa!

Ievaddati

Ievaddatu pirmajā rindā dota naturāla skaitļa NN (bumbiņu mešanas reižu skaits, N104N \leq 10^4) vērtība. Nākamajās NN rindās aprakstīta bumbiņu mešana. Katram ii (1iN)(1 \leq i \leq N) ievaddatu i+1i+1-ajā rindā doti divi veseli skaitļi: pozīcijas numurs pip_i (106pi106)(-10^6 \leq p_i \leq 10^6) un tajā nomesto bumbiņu skaits bib_i (1bi1018)(1 \leq b_i \leq 10^{18}). Zināms, ka nevienā testā kopējais nomesto bumbiņu skaits BB nepārsniedz 101810^{18}.

Izvaddati

Izvaddatiem jāsatur tieši NN rindas un pēc katras mešanas reizes jāsatur informācija par pēdējās nomestās bumbiņas atrašanās vietu. Precīzāk, katram ii (1iN)(1 \leq i \leq N) izvaddatu ii-tajā rindā jāizvada divi naturāli skaitļi, kas atdalīti ar tukšumzīmi – pozīcijas, kurā apstāsies pēdējā ii-tajā mešanas reizē nomestā bumbiņa, numurs pNp_N un bumbiņu skaits pozīcijā pNp_N pēc šīs bumbiņas apstāšanās.

Piemēri

Ievaddati

1 0 5 Kopēt kodu

Izvaddati

2 1 Kopēt kodu

Ievaddati

2 0 9 3 3 Kopēt kodu

Izvaddati

0 3 3 2 Kopēt kodu

Ievaddati

3 0 8 0 7 0 5 Kopēt kodu

Izvaddati

-1 2 -1 3 1 4 Kopēt kodu

Izpildes resursu ierobežojumi

CPU izpildes laiks uz testu: 1.5 sekundes.
RAM atmiņas apjoms uz testu: 256 megabaiti.

Apakšuzdevumi un to vērtēšana

#Apraksts un ierobežojumiPunkti
1.

Trīs uzdevuma tekstā dotie testi

2
2.

B104B \leq 10^4

8
3.

B108B \leq 10^8, N103N \leq 10^3

10
4.

B1010B \leq 10^{10}, N100N \leq 100

10
5.

B1012B \leq 10^{12}, visiem i(i>10)i(i > 10) bi=1b_i = 1

15
6.

B1012B \leq 10^{12}, visiem i(i>10)i(i > 10) bi1000b_i \leq 1000

15
7.

B1012B \leq 10^{12}

25
8.

Bez papildu ierobežojumiem

15
Apakšuzdevumu punktu summa = 100.

1. apakšuzdevuma ievaddati

3 -1000000 3 1000000 5 0 5 Kopēt kodu
7 1607 13 2415 55 1607 11 2415 17 760194 1 -12164 1 330520 2 Kopēt kodu
8 2019 8 2019 11 788 1 788 4 1689 23 2028 4 2019 6 765 43 Kopēt kodu