Revizia anterioară Revizia următoare
| Fișierul intrare/ieșire | partitura.in, partitura.out | Sursă | Olimpiada pe scoala 2014 |
|---|---|---|---|
| Autor | Cristian Frâncu | Adăugată de |
|
| Timp de execuție pe test | 0.05 sec | Limită de memorie | 2048 KB |
| Scorul tău | N/A | Dificultate |
Vezi soluțiile trimise | Statistici
Partitura (clasa a 5-a)
Amadeus este un mic geniu muzical. El se uită pe o partitură cu note și își dă seama instantaneu de cheia partiturii, de fugă și dacă melodia este majoră sau minoră. Tatăl său este, însă, un om foarte strict și vrea să il verifice, drept care vă roagă pe voi să îl ajutați.
Dar înainte de aceasta să definim termenii muzicali:
- Partitura este un șir de note și pauze. Notele sînt numere naturale nenule, iar pauzele sînt reprezentate cu numărul zero. De exemplu partitura 2 5 7 10 7 3 0 3 5 2 0 0 8 11 13 are 12 note separate de pauze.
- Cheia partiturii este media tuturor notelor. Dacă media nu este număr natural se va lua partea întreagă. De exemplu, în partitura anterioară, suma notelor este 76. Împărțind-o la numărul de note, 12, obținem media 6.
- Fuga se calculează astfel: pornind de la prima notă, cîtă vreme notele cresc, vom aduna diferențele între note consecutive în secvență, obținînd un interval de creștere C1. Apoi partitura descrește și vom considera iar diferențele între note consecutive în secvență obținînd un interval de descreștere D1. Intervalul de fugă este diferența în valoare absolută dintre suma intervalelor de creștere și a celor de descreștere: I = abs( [C1 + C2 + ... + Ck] – [D1 + D2 + ... + Dm] ). Pe exemplul nostru vom avea trei intervale de creștere și două de descreștere:
- 2 5 7 10 are creșterea (5-2) + (7-5) + (10-7) = 8
- 3 5 are creșterea (5-3) = 2
- 8 11 13 are creșterea (11-8) + (13-11) = 5
- 10 7 3 cu descreșterea (10-7) + (7-3) = 7
- 5 2 cu descreșterea (5-2) = 3
Fuga partiturii este suma creșterilor minus suma descreșterilor: (8+2+5) – (7+3) = 5
- Gama partiturii se definește astfel: un acord major este o secvență de trei note la rînd (A B C) cu proprietățile că A + 3 = B și B + 2 = C. Similar, un acord minor este o secvență de trei note la rînd (A B C) cu proprietățile că A + 2 = B și B + 3 = C. Dacă melodia are mai multe acorduri majore decît minore spunem că gama ei este majoră, altfel spunem că este minoră.
Cerință
Dată o partitură determinați cheia, fuga și dacă melodia este majoră sau minoră.
Date de intrare
Fișierul de intrare partitura.in ...
Date de ieșire
În fișierul de ieșire partitura.out ...
Restricții
- ... ≤ ... ≤ ...
Exemplu
| partitura.in | partitura.out |
|---|---|
| This is some text written on multiple lines. |
This is another text written on multiple lines. |
Explicație
...


Poți vedea testele pentru această problemă accesând