Robin Hood și Little John au hotărât să stabilească care dintre ei este cel mai bun arcaș. Pentru aceasta au construit n
ținte așezate în linie dreaptă și numerotate de la 1
la n
. 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 n
ținte procedând în felul următor: Robin pleacă din dreptul țintei 1
şi se deplasează până în dreptul țintei n
, apoi se întoarce înapoi spre ținta 1
şi aşa mai departe… John pleacă din dreptul țintei n
şi se deplasează până la ținta 1
, apoi se întoarce înapoi spre ținta n
ş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 p
secunde, iar John trage o dată după fiecare q
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ța
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ă C
, reprezentând cerința. Pe linia a doua a fișierului de intrare se găsește un număr natural n
, reprezentând numărul de ținte, iar pe linia a treia două numere naturale p
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 1
, fişierul de ieşire robinhood.out
conţine pe prima linie un număr natural t
, reprezentând timpul în care cei doi arcași ating toate țintele. Dacă cerința este 2
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 valoare 0
. Dacă cerința este 3
, 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
1 ≤ C ≤ 3
3 ≤ n ≤ 10.000
1 ≤ p, q ≤ 500
- Pentru toate testele există soluție
- Pentru 53 de puncte,
C = 1
- Pentru 21 de puncte,
C = 2
- Pentru 26 de puncte,
C = 3
Exemplul 1:
robinhood.in
1 5 2 3
robinhood.out
9
Explicație
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
, 4
, și 5
.
Exemplul 3:
robinhood.in
3 5 2 3
robinhood.out
3 3
Explicație
Ținta 3
a fost atinsă de 3
ori: de 2
ori de Robin și o dată de John.