Nu aveti permisiuni pentru a descarca fisierul grader_test11.in
Diferente pentru problema/rick intre reviziile #9 si #13
Diferente intre titluri:
rick
Rick
Diferente intre continut:
== include(page="template/taskheader" task_id="rick") ==
După succesul avut cu melodia “Get Schwifty!”, Rick a început să considere posibilitatea unei cariere în muzică. De-a lungul călătoriilor sale inter-dimensionale a strâns o colecţie impresionantă de N sunete. Fiecare sunet este descris prin frecvenţa sa, măsurată în BPM (beats per minute).
După succesul avut cu melodia “Get Schwifty!”, Rick a început să considere posibilitatea unei cariere în muzică. De-a lungul călătoriilor sale inter-dimensionale a strâns o colecţie impresionantă de $N$ sunete. Fiecare sunet este descris prin frecvenţa sa, măsurată în BPM (beats per minute).
Rick a inventat un dispozitiv care, având la dispoziţie o mulţime de N sunete, alege aleatorşi cu probabilitateuniformă osubmulţime a acestei mulţimi. Sunetele acestei submulţimi sunt combinate, rezultând o melodie. Calitatea unei melodii este dată de cel mai mare divizor comun al frecvenţelor sunetelor combinate. Rick nu este niciodată mulţumit de melodia obţinută aşa că mereu resetează dispozitivul pentru a obţine alte melodii.
Rick a inventat un dispozitiv care, având la dispoziţie o mulţime de $N$ sunete, alege aleator o submulţime a acestei mulţimi. Sunetele acestei submulţimi sunt combinate, rezultând o melodie. Calitatea unei melodii este dată de cel mai mare divizor comun al frecvenţelor sunetelor combinate. Rick nu este niciodată mulţumit de melodia obţinută aşa că mereu resetează dispozitivul pentru a obţine alte melodii.
h2. Cerinţă
Pentru a nu pierdeoeternitatecăutândmelodia perfectă,Rick văroagăpe voisă calculaţi mediaaritmetică a calităţii melodiilorgenerate de dispozitiv dupaun numărfoartemare (infinit) deselecţii de submulţimide sunete. Cu alte cuvinte, careeste valoareamedie(expected value) a calităţii uneimelodii generatededispozitiv?
Rick e mulţumit să găsească suma calităţilor tuturor submulţimilor posibile din mulţimea de $N$ sunete.
h2. Date de intrare
Prima linie a fişierului $rick.in$ va conţine numărul natural N, cu semnificaţia din enunţ. A doua linie va conţine N numere naturale, reprezentând frecvenţele sunetelor din colecţia lui Rick.
Prima linie a fişierului $rick.in$ va conţine numărul natural $N$, cu semnificaţia din enunţ. A doua linie va conţine $N$ numere naturale, reprezentând frecvenţele sunetelor din colecţia lui Rick.
h2. Date de ieşire
În fişierul $rick.out$ afişaţi pe prima linieun numărnatural X < 1.000.000.007. Dacă răspunsulesteunnumărraţional U/V, atunci X are proprietatea X∙V ≡ U (mod 1.000.000.007). Cu alte cuvinte,X∙Vsi U dauacelaşirest laîmpărţirea cu1.000.000.007.
În fişierul $rick.out$ afişaţi pe prima linie restul împărţirii sumei cerute la 1.000.000.007.
h2. Restricţii
* 1 ≤ N ≤ 500.000 * 1 ≤ frecvenţele sunetelor ≤ 500.000 * pentru 15% din punctaj 1 ≤ N ≤ 20 * pentru alte 25% din punctaj 1 ≤ N, diferenţa în modul dintre oricare două frecvenţe ≤ 1.000 * pentru alte 35% din punctaj 1 ≤ N, frecvenţele sunetelor ≤ 100.000
* $1 ≤ N ≤ 500.000$ * $1 ≤ frecvenţele sunetelor ≤ 500.000$ * pentru $15%$ din punctaj $1 ≤ N ≤ 20$ * pentru alte $25%$ din punctaj $1 ≤ N$, diferenţa în modul dintre oricare două frecvenţe $≤ 1.000$ * pentru alte $35%$ din punctaj $1 ≤ N$, frecvenţele sunetelor $≤ 100.000$
* prin probabilitate uniformă înţelegem că orice submulţime are aceeaşi probabilitate să fie extrasă de către dispozitiv
* considerăm că submulţimea vidă are cel mai mare divizor comun 1
* considerăm că submulţimea vidă are cel mai mare divizor comun $1$
h2. Exemplu table(example). |_. rick.in |_. rick.out | | 3 2 6 4
|625000007
| 21
| h3. Explicaţie
Avem 8 submulţimi posibile. Calculând cel mai mare divizor comun al elementelor fiecărei submulţimi, obţinem valorile: 1, 2, 6, 4, 2, 2, 2, 2. Valoarea medie a calitaţii unei melodii este 21/8. 625000007∙8 şi 21 dau acelaşi rest la împărţirea cu 1.000.000.007.
Avem 8 submulţimi posibile. Calculând cel mai mare divizor comun al elementelor fiecărei submulţimi, obţinem valorile: 1, 2, 6, 4, 2, 2, 2, 2.
== include(page="template/taskfooter" task_id="rick") ==