avion

Time limit: 0.5s Memory limit: 64MB Input: avion.in Output: avion.out

Avionul cu care am zburat ultima dată are o organizare foarte simplă. Pe fiecare rând sunt 66 scaune, câte 33 pe fiecare parte, având la mijloc culoarul pe care intră și ies pasagerii. Rândurile de scaune pentru pasageri sunt numerotate de la 11 la NRNR, începând dinspre cabina piloților avionului. Pe fiecare rând, scaunele sunt numerotate cu cifre de la 11 la 66.

Urcarea în avion se face pe una dintre cele două scări: scara 11, situată în partea din față a avionului, și scara 22, situată în partea din spate a acestuia.

De la intrarea în avion fiecare pasager parcurge 33 metri până la culoarul principal, după care înaintează pe culoar parcurgând câte 11 metru pentru fiecare rând de scaune. De pe culoar până la scaunele 33 sau 44 se parcurge 11 metru, până la scaunele 22 sau 55 se parcurg 22 metri, iar până la scaunele 11 sau 66 se parcurg 33 metri.

În așteptare sunt nn pasageri, care trebuie să urce în avion pe una din cele două scări. Pe biletul fiecărui pasager este scris locul pe care trebuie să îl ocupe în avion, sub forma perechii (rând, scaun) (de exemplu 5 25 \ 2 – rândul 55 scaunul 22).

Se cunosc numărul de rânduri de scaune NRNR din avion, numărul nn de pasageri și locul fiecărui pasager.

Cerință

  • Determinați pentru fiecare dintre cei nn pasageri, scara pe care trebuie să urce în avion, astfel încât distanța parcursă de el până la locul său să fie minimă.
  • Determinați distanța totală minimă parcursă de pasageri în avion. Distanța totală parcursă este egală cu suma distanțelor minime parcurse de cei n pasageri până la locuurile lor.

Date de intrare

Fișierul de intrare avion.in conține pe prima linie trei numere naturale: cc, reprezentând cerința care trebuie rezolvată (c{1,2}c \in \{1, 2\}), NRNR și nn, cu semnificațiile din enunț.
Fiecare dintre următoarele nn linii conține câte o pereche de numere naturale, reprezentând locul unui pasager, în ordinea în care aceștia stau în așteptare. Numerele aflate pe aceeași linie a fișierului sunt separate prin câte un spațiu.

Date de ieșire

Pentru cerința 11 (dacă c=1c=1) fișierul de ieșire avion.out conține nn linii, pe fiecare linie fiind cifra 11 sau cifra 22, reprezentând scara pe care urcă fiecare pasager, în ordinea în care aceștia au stat în așteptare.

Pentru cerința 22 (dacă c=2c=2) fișierul de ieșire avion.out conține un număr natural, reprezentând distanța totală minimă determinată la cerința 22.

Restricții și precizări

  • c{1,2}c \in \{1, 2\}
  • 6NR506 \leq NR \leq 50, NRNR este număr par
  • 1n6NR1 \leq n \leq 6 \cdot NR
  • Există zboruri în care nu sunt ocupate toate locurile;
# Scor Restricții
1 50 Pentru cerința 11
2 50 Pentru cerința 22

Exemplul 1

avion.in

1 10 7
5 2
9 4
5 1
7 5
1 6
8 3
10 1

avion.out

1
2
1
2
1
2
2

Explicație

Se rezolvă cerința 11.

Este un avion cu 1010 rânduri de scaune și sunt 77 pasageri.

Dacă ar urca pe scara 11, primul pasager ar parcurge 3+5+23+5+2 metri, iar dacă ar urca pe scara 22 ar parcurge 3+6+23+6+2 metri. Ca urmare, va alege să urce pe scara 11.

Analog se procedează și pentru ceilalți pasageri. Astfel, pasagerii cu numerele de ordine 11, 33 și 55 urcă pe scara 11, iar pasagerii cu numerele de ordine 22, 44, 66 și 77 urcă pe scara 22.

Exemplul 2

avion.in

2 10 7
5 2
9 4
5 1
7 5
1 6
8 3
10 1

avion.out

57

Explicație

Se rezolvă cerința 22.

Este un avion cu 1010 rânduri de scaune și sunt 77 pasageri.

Pentru a parcurge distanța minimă până la locul său, pasagerul 11 urcă pe scara 11, parcurge 33 metri până la culoarul central apoi parcurge 55 metri pe culoar, apoi 22 metri până la scaunul alocat (5+25+2). El parcurge astfel 1010 metri până la locul său.

Pasagerul 22 urcă pe scara 22 și parcurge 66 metri (3+2+13+2+1).
Pasagerul 33 urcă pe scara 11 și parcurge 1111 metri (3+5+33+5+3).
Pasagerul 44 urcă pe scara 22 și parcurge 99 metri (3+4+23+4+2).
Pasagerul 55 urcă pe scara 11 și parcurge 77 metri.
Pasagerul 66 urcă pe scara 22 și parcurge 77 metri.
Pasagerul 77 urcă pe scara 22 și parcurge 77 metri.

În total au fost parcurși 5757 de metri.

Log in or sign up to be able to send submissions!