Revizia anterioară Revizia următoare
Fişierul intrare/ieşire: | palatulvoltaic.in, palatulvoltaic.out | Sursă | Algoritmiada 2019 Runda Maraton |
Autor | Tamio-Vesa Nakajima | Adăugată de | |
Timp execuţie pe test | 1 sec | Limită de memorie | 256000 kbytes |
Scorul tău | N/A | Dificultate | N/A |
Vezi solutiile trimise | Statistici
Palatulvoltaic
Tanaka a decis sa viziteze locul de unde vine toata electricitatea din univers, mai exact, Palatul Voltaic. Palatul voltaic il putem modela ca pe un arbore cu N noduri, unde nodurile reprezinta turnuri ale palatului, si muchiile reprezinta coridoare ale palatului. In fiecare camera se joaca cate un sport, pasii meciurilor acelui sport furnizand electricitatea Palatului Voltaic. Se stie ca, pentru sportul din camera i, intr-un meci faci exact vi pasi. Odata aflat intr-o camera, poti juca oricate meciuri ale sportului din camera aceea.
Tanaka are, totodata, un pedometru (adica un dispozitiv care masoara cati pasi faci), care poate numara pana la K pasi. Mai exact, in momentul in care Tanaka face cel de-al K+1-lea pas, el se reseteaza si o ia de la 0 (precum kilometrajul la masina).
In vizita sa Tanaka isi incepe drumul dintr-un nod x, ales de el. Apoi, organizatorii palatului ii vor da un numar d ales uniform aleator intre 1 si N. Apoi, Tanaka viziteaza toate nodurile la distanta cel mult d fata de x, jucand sau nu meciuri in camerele acelea. El va alege meciurile la care participa astfel incat la finalul vizitei sale, numarul de pasi pe care il arata pedometrul sau este maximizat. Tanaka ar vrea sa stie, pentru fiecare valoare posibila a lui x de la 1 la N, care este valoarea medie a numarului maxim de pasi pe care il poate arata pedometrul sau, tinand cont ca d este ales aleator uniform intre 0 si N - 1. Puteti calcula aceste valori?
Date de intrare
Fişierul de intrare palatulvoltaic.in va contine, pe primul rand, numerele N si K.
Urmeaza, pe urmatorul rand, N numere, valorile lui v.
Urmeaza, pe urmatoarele N-1 randuri, cate o pereche a, b, ce reprezinta o muchie de la nodul a la nodul b.
Date de ieşire
În fişierul de ieşire palatulvoltaic.out valorile cerute de Tanaka in ordine, pentru x de la 1 la N. Daca o medie ceruta se poate scrie ca fractia ireductibila P / Q, atunci se cere sa se afiseze P * Q-1 (mod 109 + 7), unde Q-1 este inversul modular al lui Q modulo 109+7.
Restricţii
- 1 ≤ N ≤ 300.000
- 1 ≤ vi, K ≤ 1.000.000.000
- Pentru 10 puncte, N ≤ 20 -- feedback testele 1, 3.
- Pentru alte 30 de puncte, N ≤ 1.000 -- feedback testele 6, 13, 18.
- Pentru alte 10 puncte, K este ales uniform aleator intre 1 si 1.000.000.000, si valorile lui v sunt alese uniform aleator independent intre 1 si K -- feedback testele 21, 24.
Exemplu
palatulvoltaic.in | palatulvoltaic.out |
---|---|
5 11 1 2 3 4 5 1 2 2 3 3 4 3 5 | 11 600000015 200000012 800000016 11 |
5 11 2 4 5 6 3 1 2 2 3 3 4 4 5 | 200000012 800000016 11 10 400000013 |
9 912672 9409 912673 97 1 912673 912673 1 912673 912673 8 9 4 9 3 9 7 9 2 9 8 5 6 7 1 6 | 334243917 709856 667579322 912672 608448 811264 912672 709856 811264 |
10 941191 941192 941192 9604 9604 1 941192 98 941192 941192 941192 6 2 1 2 7 2 10 1 9 10 10 5 4 9 9 8 3 4 | 600752957 500847056 600937354 700938315 941191 800752939 400941155 500751996 200846113 300847074 |
9 223092869 223092870 223092870 223092870 223092870 223092870 223092870 223092870 223092870 1 2 1 1 5 2 7 2 9 7 4 9 8 3 8 5 6 | 62405564 642749220 62405564 482061915 482061915 901718266 62405564 642749220 223092869 |
9 223092869 223092870 223092870 223092870 223092870 223092870 223092870 223092870 223092870 1 1 6 7 6 4 6 5 7 7 9 7 8 3 9 2 8 | 482061915 482061915 642749220 482061915 62405564 62405564 642749220 62405564 223092869 |
10 798335999 24948000 924 124740 4838400 231000 356400 1 12474 1663200 88704000 5 7 7 4 3 7 5 1 4 6 3 10 10 2 9 6 8 9 | 195818095 498335720 498323523 497852157 498312897 198299275 798335999 598334270 298169611 389465504 |