robinhood

Time limit: 0.1s Memory limit: 64MB Input: robinhood.in Output: robinhood.out

Robin Hood și Little John au hotărât să stabilească care dintre ei este cel mai bun arcaș. Pentru aceasta au construit nn ținte așezate în linie dreaptă și numerotate de la 11 la nn. Au stabilit apoi distanța de tragere. Cei doi se deplasează prin fața țintelor în linie dreaptă la distanța stabilită de comun acord.

Ei încearcă să atingă cu săgețile toate cele nn ținte procedând în felul următor: Robin pleacă din dreptul țintei 11 şi se deplasează până în dreptul țintei nn, apoi se întoarce înapoi spre ținta 11 şi aşa mai departe... John pleacă din dreptul țintei nn şi se deplasează până la ținta 11, apoi se întoarce înapoi spre ținta nn şi aşa mai departe... Fiecare dintre cei doi concurenți parcurge spaţiul dintre două ținte consecutive într-o secundă. Robin trage o dată după fiecare pp secunde, iar John trage o dată după fiecare qq secunde, fiecare în ținta în dreptul căreia se află. Cei doi pot trage simultan în aceeaşi țintă sau într-una deja atinsă. Concursul se încheie în momentul în care fiecare țintă a fost atinsă cel puțin o dată.

Cerință

  1. Se cere să se determine timpul în care se termină concursul.
  2. Care sunt țintele atinse exact o dată în timpul concursului.
  3. Care sunt țintele atinse de cele mai multe ori în timpul concursului.

Date de intrare

Fişierul de intrare robinhood.in conţine pe prima linie o valoare naturală CC, reprezentând cerința. Pe linia a doua a fișierului de intrare se găsește un număr natural nn, reprezentând numărul de ținte, iar pe linia a treia două numere naturale p qp \ q, separate printr-un spațiu, reprezentând intervalul de timp la care trag cei doi arcași.

Date de ieșire

Dacă cerința este 11, fişierul de ieşire robinhood.out conţine pe prima linie un număr natural tt, reprezentând timpul în care cei doi arcași ating toate țintele.

Dacă cerința este 22, pe prima linie a fișierului de ieșire se vor afișa în ordine crescătoare, separate prin câte un spațiu, numerele de ordine ale țintelor atinse o singură dată. În cazul în care nici o țintă nu a fost atinsă exact o dată, se va afișa valoarea 00.

Dacă cerința este 33, pe prima linie a fișierului de ieșire se va afișa un număr natural reprezentând numărul maxim de săgeți care au atins o țintă, iar pe linia următoare se vor afișa în ordine crescătoare, separate prin câte un spațiu, numerele de ordine ale țintelor respective.

Restricții și precizări

  • 1C31 \leq C \leq 3
  • 3n10 0003 \leq n \leq 10 \ 000
  • 1p,q5001 \leq p, q \leq 500
  • Pentru toate testele există soluție
# Punctaj Restrictii
1 53 C=1C = 1
2 21 C=2C = 2
3 26 C=3C = 3

Exemplul 1

robinhood.in

1
5
2 3

robinhood.out

9

Explicație

timp 1 2 3 4 5 ținta
secunda 1 r j
secunda 2 R j\underline{R} \ j ținta 3
secunda 3 J\underline{J} r ținta 2
secunda 4 j R\underline{R} ținta 5
secunda 5 j r
secunda 6 R J\underline{R} \ \underline{J} ținta 3
secunda 7 r j
secunda 8 R\underline{R} j ținta 1
secunda 9 r J\underline{J} ținta 4

Notă: cu majusculă sunt secundele când Robin și John trag la țintă.

Exemplul 2

robinhood.in

2
5
2 3

robinhood.out

1 2 4 5

Explicație

Țintele care au fost atinse cu o singură săgeată sunt țintele 1 2 41 \ 2 \ 4 și 55

Exemplul 3

robinhood.in

3
5
2 3

robinhood.out

3
3

Explicație

Ținta 33 a fost atinsă de 33 ori: de 22 ori de Robin și o dată de John

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