Adapteru rinda

Adapteru rinda

ļoti grūts
Latvijas Informātikas olimpiādes logo
Uzdevums no Latvijas 38. (2024./2025. m. g.) informātikas olimpiādes (LIO) valsts kārtas; vecākajai (11.-12. klašu) grupai.

Stāsts

Mūsdienu elektroniskajām iekārtām ir nepieciešama regulāra uzlāde, kas parasti tiek veikta, izmantojot dažādu izmēru adapterus. Šajā uzdevumā interesēsimies par adapteru ieslēgšanu kontaktligzdu blokā, kur kontaktligzdas izvietotas vienā rindā (1. attēlā (a) parādīts sešu kontaktligzdu bloks). Katra adaptera kontaktdakšiņa ir novietota tā, ka, ieslēdzot to kontaktligzdā, adaptera garākā mala būs paralēla kontaktligzdu bloka garākajai malai, turklāt kontaktligzdā adapteru var ieslēgt divos variantos – viens variants no otra atšķiras ar pagriešanu par 180180 grādiem. Pieņemsim, ka katra adaptera garākās malas garums ir kontaktligzdu augstuma daudzkārtnis.

Piemēram, ja adapters (skat. 2. att. (a) un (b)) ir divas vienības augsts, tad to var ieslēgt iepriekš aplūkotā kontaktligzdu bloka ceturtajā kontaktligzdā divos variantos – pēc ieslēgšanas tajā bez tās, kurā tiek iesprausta kontaktdakšiņa (attēlos apzīmēta ar "x"), tiks aizsegta attiecīgi piektā (1. att. (b)) vai trešā (1. att. (c)) kontaktligzda. Labā ziņa ir tā, ka adaptera korpuss var iet arī ārpus kontaktligzdu bloka (1. att. (d)), aizsedzot pēc iespējas mazāk vai nemaz neaizsedzot liekas kontaktligzdas. Ņemot to vērā, šajā piemērā sešu kontaktligzdu blokā varētu ieslēgt, augstākais, četrus šāda izmēra adapterus (skat. 1. att. (e)).

1. attēls: Kontaktligzdu bloks un adapteru ieslēgšana blokā
1. attēls: Kontaktligzdu bloks un adapteru ieslēgšana blokā
2. attēls: Adapteru izmēri
2. attēls: Adapteru izmēri

Katru adapteru raksturo tā garums lil_i un kontaktdakšiņas atrašanās pozīcija adaptera korpusā pip_i (1pili1 \leq p_i \leq l_i). 2. attēlā (attiecīgi, (a), (b), (c) un (d)) redzami attiecīgi adapteri (2;1)(2;1), (2;2)(2;2), (3;2)(3;2) un (4;3)(4;3).

Saprotams, ka kontaktligzdu blokā vienlaicīgi ieslēgto adapteru skaits ir atkarīgs no adapteru izmēriem. Ja visi adapteri ir trīs vienības gari un kontaktdakšiņa atrodas otrajā (vidējā) pozīcijā (skat. 2. att. (c)), tad sešu kontaktligzdu blokā varēs ieslēgt ne vairāk kā divus šādus adapterus (piemēram, ieslēdzot tos trešajā un sestajā kontaktligzdā, skat. 1. att. (f)).

Uzrakstiet datorprogrammu, kas dotam kontaktligzdu skaitam blokā un dotajam adapteru komplektam nosaka, cik no tiem vienlaikus var ieslēgt kontaktligzdu blokā un kā tieši tie jāieslēdz!

Ievaddati

Pirmajā rindā doti divi naturāli skaitļi -- kontaktligzdu skaits blokā NN (N109N \leq 10^9) un adapteru skaits AA (A2×105A \leq 2 \times 10^5).

Nākamajās AA rindās katrā dots viena adaptera apraksts -- divi naturāli skaitļi lil_i (adaptera garums, 1li1091 \leq l_i \leq 10^9) un kontaktdakšiņas atrašanās pozīcija adaptera korpusā pip_i (1pili1 \leq p_i \leq l_i).

Starp katriem diviem blakus skaitļiem ievaddatos ir tukšumzīme.

Izvaddati

Izvaddatu pirmajā rindā jābūt naturālam skaitlim MM -- lielākajam adapteru, kurus no dotajiem var vienlaikus ieslēgt dotajā kontaktligzdu blokā.

Nākamajās AA rindās katrā jābūt veselam skaitlim robežās no N-N līdz NN. Katram ii (1iA1 \leq i \leq A) izvaddatu i+1i+1-ajā rindā jābūt raksturotam, kā kontaktligzdu blokā jāieslēdz adapters, kurš ievaddatos dots kā ii-tais pēc kārtas.

Šim skaitlim jābūt:

  • 00, ja attiecīgais adapters nav ieslēgts kontaktligzdā;
  • vv (1vN1 \leq v \leq N), ja attiecīgais adapters ir ieslēgts kontaktligzdā, orientējot adapteru tā, kā dots ievaddatos;
  • v-v (1vN1 \leq v \leq N), ja attiecīgais adapters ir ieslēgts kontaktligzdā, orientējot adapteru pagrieztu par 180180 grādiem attiecībā pret to, kā dots ievaddatos.

Nenulles skaitļu kopskaitam jābūt MM un blokā ieslēgto adapteru konfigurācijai jābūt neprerunīgai. Ja iespējamas vairākas derīgas adapteru konfigurācijas ar lielāko MM vērtību, izvadiet informāciju par jebkuru no tām.

Piemēri

Ievaddati

6 5 2 1 2 1 2 1 2 1 2 1 Kopēt kodu

Izvaddati

4 -3 -5 6 0 -1 Kopēt kodu

Piezīme:

Atbilst piemēram uzdevuma tekstā (1.(e) att.). Ir arī citi derīgi atrisinājumi.

Ievaddati

6 4 4 2 3 2 4 2 2 2 Kopēt kodu

Izvaddati

3 0 6 -1 4 Kopēt kodu

Piezīme:

Atbilst 1.(g) attēlam uzdevuma tekstā. Ir arī citi derīgi atrisinājumi.

Izpildes resursu ierobežojumi

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

Apakšuzdevumi un to vērtēšana

#Apraksts un ierobežojumiPunkti
1.

Uzdevuma tekstā dotais tests

2
2.

N2N \leq 2

8
3.

N20N \leq 20

15
4.

A200A \leq 200

20
5.

A1500A \leq 1500

10
6.

li2l_i \leq 2

10
7.

Bez papildu ierobežojumiem

35
Apakšuzdevumu punktu summa = 100.

1. apakšuzdevuma ievaddati

6 5 10 9 6 5 9 8 10 8 3 1 Kopēt kodu