McNugget

Time limit: 0.25s Memory limit: 256MB Input: Output:

Cerință

Se dă un șir vv de nn numere naturale, un număr kk și qq query-uri. xx-costul unei secvențe este numărul de numere distincte din secvență care apar de cel puțin kk ori în ea și au cel puțin un divizor comun cu xx diferit de 11.

Se dau qq numere xx, reprezentând query-urile. Pentru fiecare xx trebuie să aflați suma xx-costurilor tuturor subsecvențelor din șir.

Date de implementare

Trebuie să implementați următoarea funcție:

std::vector<long long> solve(int n, int k, int q, std::vector<int> v, std::vector<int> x);

Această funcție trebuie să returneze răspunsul pentru cele qq interogări. Ea va fi apelată o singură dată la fiecare executare a programului. Observați că vectorul vv (șirul) este indexat de la 00 la n1n-1 și vectorul xx (vectorul de query-uri) este indexat de la 00 la q1q-1.

Nu uitați sa includeți header-ul mcnugget.h! De asemenea, nu uitați că nu trebuie să implementați funcția main, doar funcția solve.

Exemplu de grader

Un exemplu de grader citește n,k,qn, k, q, șirul vv și șirul xx. Apoi va apela solve(n,k,q,v,x)\text{solve}(n, k, q, v, x) și va afișa răspunsurile la ecran, fiecare pe câte o linie.

Restricții și precizări

  • 1n,k1051 \leq n, k \leq 10^5;
  • 1q,xi,vj1061 \leq q, x_i, v_j \leq 10^6, pentru ii de la 00 la q1q-1 si jj de la 00 la n1n-1;
# Punctaj Restricții
0 0 Exemplu
1 10 1n,q401 \leq n, q \leq 40, 1vi10001 \leq v_i \leq 1000
2 30 1n,q10001 \leq n, q \leq 1000
3 45 1q1051 \leq q \leq 10^5
4 15 Fără alte restricții

Exemplu

stdin

4 1 2
6 6 5 9
10
5

stdout

13
6

Explicație

La primul query sunt 55 secvențe cu 1010-costul egal cu 11. Acestea sunt [1,1][1,1], [2,2][2,2], [3,3][3,3], [1,2][1,2], [3,4][3,4]. Sunt 44 secvențe cu 1010-cost egal cu 22: [1,3][1,3], [1,4][1,4], [2,3][2,3], [2,4][2,4]. Observație: cmmdc(6,10)=2>1cmmdc(6, 10) = 2 > 1 și cmmdc(5,10)=5>1cmmdc(5, 10) = 5 > 1.

La al doilea query sunt 66 secvențe cu 55-cost egal cu 11. Acestea sunt cele care îl conțin pe 55 ([1,3][1, 3], [1,4][1, 4], [2,3][2, 3], [2,4][2, 4], [3,3][3, 3], [3,4][3, 4]).

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