ConcursC++17

cvintete

Se consideră numerele naturale nenule NN și DD urmate de o secvență SS de NN numere naturale nenule ordonate crescător, indexate de la 11 la NN.

Să se determine numărul de cvintete de indici (i1,i2,i3,i4,i5)(i_1,i_2,i_3,i_4,i_5) ce verifică relațiile:

  • a⋅b⋅c=Da \cdot b \cdot c = D
  • a⋅x2+b⋅y2=c2a \cdot x^2 + b \cdot y^2 = c^2
  • a<b<ca < b < c
  • x≠yx \neq y

unde am notat cu a=S[i1]a = S[i_1], b=S[i2]b = S[i_2], c=S[i3]c = S[i_3], x=S[i4]x = S[i_4], y=S[i5]y = S[i_5].

Rezultatul se va afișa modulo 109+710^9 + 7.

Date de intrare

Fișierul de intrare cvintete.in conține pe prima linie două numere naturale nenule NN și DD cu semnificația din enunț.
Pe următoarea linie se vor afla NN numere naturale nenule ordonate crescător.

Date de ieșire

Fișierul de ieșire cvintete.out va conține un singur număr natural care reprezintă rezultatul cerinței, modulo 109+710^9 + 7.

Restricții și precizări

#PunctajRestricții
1161≤N≤201≤S[i]≤201≤D≤2501 \leq N \leq 20 \quad 1 \leq S[i] \leq 20 \quad 1 \leq D \leq 250
2121≤N≤1 0001≤S[i]≤1 0001≤D≤1051 \leq N \leq 1\,000 \quad 1 \leq S[i] \leq 1\,000 \quad 1 \leq D \leq 10^{5}
3251≤N≤5 0001≤D≤107S[i]=i1 \leq N \leq 5\,000 \quad 1 \leq D \leq 10^{7} \quad S[i] = i, pentru orice 1≤i≤N1 \leq i \leq N
4281≤N≤10 0001≤S[i]≤5 0001≤D≤1071 \leq N \leq 10\,000 \quad 1 \leq S[i] \leq 5\,000 \quad 1 \leq D \leq 10^{7}
5191≤N≤100 0001≤S[i]≤20 0001≤D≤1091 \leq N \leq 100\,000 \quad 1 \leq S[i] \leq 20\,000 \quad 1 \leq D \leq 10^{9}
  • Pentru toate subtask-urile, se respectă relația S[i]≤S[i+1]S[i] \leq S[i + 1], oricare ar fi 1≤i≤N−11 \leq i \leq N - 1.

Exemplul 1

cvintete.in

4 6
1 2 3 3

cvintete.out

2

Explicație

Pentru primul exemplu, cvintetele care respectă cerința sunt (1,2,3,1,2)(1, 2, 3, 1, 2) și (1,2,4,1,2)(1, 2, 4, 1, 2).

Exemplul 2

cvintete.in

10 60
1 2 3 4 4 5 6 8 10 12

cvintete.out

4

Explicație

Pentru al doilea exemplu, cvintetele care respectă cerința sunt (1,6,10,8,4)(1, 6, 10, 8, 4), (1,6,10,8,5)(1, 6, 10, 8, 5), (1,7,9,2,4)(1, 7, 9, 2, 4) și (1,7,9,2,5)(1, 7, 9, 2, 5).

Sursă și autori

OSEPI 2021, clasele 10. Eugen Nodea.

Enunț din Kilonova, sub licența CC-BY-NC-SA-4.0, conform politicii sursei. Adaptări de prezentare și tipografie. Exemplele, formulele și figurile originale sunt păstrate.

RÂNDUL TĂU

Trimite o soluție

Editor de cod

Setul original de teste și regulile de punctare sunt în curs de verificare. Trimiterea pentru evaluare va fi disponibilă după această verificare.

Se verifică autentificarea…

Un pas, apoi următorul.Înapoi sus ↑