alinieri

Time limit: 0.07s Memory limit: 64MB Input: alinieri.in Output: alinieri.outPoints by default: 10p

Se consideră modelul unui sistem solar format din NN planete care se rotesc în jurul unei stele SS, în sens trigonometric. Traiectoriile planetelor se consideră circulare și de raze diferite, iar vitezele de rotație ale planetelor în jurul stelei sunt numere naturale și sunt exprimate în grade pe zi (°\degree/zi).

Cerință

Cunoscând numărul de planete NN și vitezele lor de rotație ViV_i, 1iN1 \leq i \leq N, precum și două numere naturale PP și ZZ, să se determine numărul AA de alinieri a câte minimum PP planete, pe o dreaptă ce trece prin centrul stelei SS, după trecerea celor ZZ zile. Evoluția sistemului solar începe cu toate planetele așezate orizontal, în dreapta stelei SS.

Spre exemplu, pentru N=4N=4, P=3P=3, Z=365Z=365 și V=[20,11,8,6]V = [20, 11, 8, 6], alinierea a minimum 33 planete din cele 44 se va face la finalul zilelor 6060, 9090, 120120, 180180, 240240, 270270, 300300, 360360. După 365365 de zile vor exista A=8A=8 alinieri. În imaginea din dreapta se observă poziția planetelor la prima aliniere.

Date de intrare

Fișierul de intrare alinieri.in conține pe prima linie, în această ordine, numerele naturale NN, PP și ZZ, iar pe a doua linie, NN numere naturale ViV_i, 1iN1 \leq i \leq N cu semnificația de mai sus. Numerele aflate pe aceeași linie a fișierului sunt separate prin câte un spațiu.

Date de ieșire

Fișierul de ieșire alinieri.out va conține pe prima linie numărul AA, cu semnificația de mai sus.

Restricții și precizări

  • 2PN1052 \leq P \leq N \leq 10^5
  • 1Z1061 \leq Z \leq 10^6
  • 1Vi1031 \leq V_i \leq 10^3, 1iN1 \leq i \leq N
  • Pentru teste în valoare de 3030 de puncte, 1Z1 0001 \leq Z \leq 1\ 000.
  • Pentru teste în valoare de 3030 de puncte, 1N1001 \leq N \leq 100.
  • Pentru teste în valoare de 3030 de puncte, 2P92 \leq P \leq 9.
  • Se vor lua în considerare doar alinierile de la sfârșitul fiecărei zile (ora 24:00), când planetele și-au încheiat parcursul zilnic.

Exemplul 1

alinieri.in

4 3 365
20 11 8 6

alinieri.out

8

Explicație

N=4N=4, P=3P=3, Z=365Z=365 și V=[20,11,8,6]V = [20, 11, 8, 6].

Prima aliniere a minimum 33 planete dintre cele 44 planete are loc după 6060 de zile (conform figurii de mai sus).

Evoluția celor 44 planete este următoarea:

  • planeta 11 efectuează 3 rotații complete și încă 120°120\degree;
  • planeta 22 efectuează o rotație completă și încă 300°300\degree;
  • planeta 33 efectuează o rotație completă și încă 120°120\degree;
  • planeta 44 efectuează exact o rotație.

Următoarele alinieri a minimum 33 din cele 44 planete au loc după 9090, 120120, 180180, 240240, 270270, 300300, 360360 de zile. Deci, în 365365 vor avea loc 88 alinieri.

Exemplul 2

alinieri.in

7 3 2020
10 20 10 15 20 10 20

alinieri.out

3928

Explicație

N=7N=7, P=3P=3, Z=2020Z=2020 și V=[10,20,10,15,20,10,20]V = [10, 20, 10, 15, 20, 10, 20].

În cele 20202020 de zile au avut loc 39283928 de alinieri a minimum 33 planete din cele 77 planete ce formează sistemul solar.

Exemplul 3

alinieri.in

6 3 658903
17 24 12 150 200 12

alinieri.out

58568

Explicație

N=6N=6, P=3P=3, Z=658903Z=658903 și V=[17,24,12,150,200,12]V = [17, 24, 12, 150, 200, 12].

În cele 658903658903 de zile au avut loc 5856858568 de alinieri a minimum 33 planete din cele 66 planete ce formează sistemul solar.

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