Atenţie! Aceasta este o versiune veche a paginii, scrisă la 2023-08-10 11:12:00.
Revizia anterioară   Revizia următoare  

 

Fişierul intrare/ieşire:jupanul.in, jupanul.outSursăJunior Challenge 2023
AutorCozma Tiberiu StefanAdăugată decadmium_Voicu Mihai Valeriu cadmium_
Timp execuţie pe test4 secLimită de memorie524288 kbytes
Scorul tăuN/ADificultateN/A

Vezi solutiile trimise | Statistici

Salutare Jupâne

I-a luat Jupânului 4652 de zile să cureţe Londra de mafioţi. I-a ramas doar unul, anume burghezul metabalzacian Stănică Raţiu. De aceea Jupanul a venit in Bucuresti, pentru a isi indeplini odata pentru totdeauna telul.

Cerinta

Pentru un şir de numere a, definim costul că fiind suma gcdurilor† tututor prefixelor lui a. De exemplu, costul şirului [4, 4, 2, 1] este gcd(4) + gcd(4, 4) + gcd(4, 4, 2) + gcd(4, 4, 2, 1) = 4 + 4 + 2 + 1 = 11.

Definim f(n,k) că fiind suma costurilor tuturor partitiilor lui n în k termeni‡.

Dându-se n şi m, si un sir k1, k2, ..., km, voi trebuie să calculaţi f(n, k1), f(n, k2),..., f(n, km)

† Prin gcd(a1, a2,..., ai) s-a notat cel mai mare divizor comun al numerelor a1, a2,..., ai.
‡ Prin o partiţie a lui n în k termeni, înţelegem un şir de numere pozitive a1, a2,..., ak cu proprietatea că a1 · a2· ... · ak=n

Date de intrare

Pe prima şi singură linie a fişierului jupanul.în conţine numerele n şi m separate printr-un spaţiu.

Date de ieşire

Pe prima şi singură linie a fişierului jupanul.out se vor află f(n, k1), f(n, k2),..., f(n, km) separate prin exact un spaţiu.

Restricţii

  • 1 ≤ n ≤ 1012
  • 1 ≤ m ≤ 2·105
  • 1 ≤ ki ≤ 2·105, pentru orice i care respecta 1 ≤ i ≤ m

Subtaskuri

#PunctajRestricţii
19n ≤ 5 000
26n ≤ 100 000
38n ≤ 1 000 000
47m ≤ 5
537m ≤ 1 500
633Fără restricţii suplimentare

Exemplu

jupanul.injupanul.out
6 2
1 2
6 16
12152 8
1 2 3 4 5 6 7 8
12152 27468 57294 111704 207030 369846 642894 1093344

Explicaţie

Numărul 6 se descompune în 2 termeni astfel:

  • [1, 6], cost = gcd([1]) + gcd([1, 6]) = 1 + 1 = 2
  • [6, 1], cost = gcd([6]) + gcd([6, 1]) = 6 + 1 = 7
  • [2, 3], cost = gcd([2]) + gcd([2, 3]) = 2 + 1 = 3
  • [3, 2], cost = gcd([3]) + gcd([3, 2]) = 3 + 1 = 4

Deci f(6, 2) = 2 + 7 + 3 + 4 = 16

Trebuie sa te autentifici pentru a trimite solutii. Click aici

Cum se trimit solutii?