RoAlgo PreOJI 2024 X | dorel

This was the problem page during the contest. Access the current page here.
Time limit: 0.4s
Memory limit: 64MB
Input: dorel.in
Output: dorel.out

Dorel, elev în clasa a X-a, a început recent să experimenteze cu algoritmi de plasare a BB bile identice în CC cutii! El a încercat să analizeze în câte moduri poate plasa cele BB bile în cele CC cutii alese astfel încât pentru o constantă KK aleasă algoritmul scris de el pe hârtie să nu ruleze la infinit. Algoritmul lui poate fi găsit scris în pseudocod mai jos:

poz ← 1
sum ← 0
cât timp poz <= c:
    cât timp sum != k:
        sum ← sum + nrbile[poz] + 1
		poz ← poz + 1
	sum ← 0

Cerință

Pentru BB bile, CC cutii și o constantă KK, determinați în câte moduri putem plasa bilele în cutii în așa fel încât algoritmul prezentat mai sus nu rulează la infinit. Cum acest numar poate fi foarte mare, Dorel va roaga sa aflati restul impartirii lui la 109+710^9+7

Date de intrare

Pe prima linie a fișierului de intrare dorel.in se găsește numărul TT, care prezintă numărul de teste. Apoi, pe următoarele TT linii se vor afla câte 3 numere B,CB, C și KK cu semnificația de mai sus. Testele din input sunt independente unul față de celălalt.

Date de ieșire

În fișierul dorel.out se vor afișa TT numere pe câte o linie separată fiecare, unde pe linia ii din output se va afla răspunsul la al ii-lea test modulo 109+710^9+7.

Restricții și precizări

  • 1T21051 \leq T \leq 2 \cdot 10^5
  • 1B,C,K1061 \leq B, C, K \leq 10^6
  • Conform regulamentului OJI, teste vor fi evaluate individual, deci nu este necesară trecerea tuturor testelor pentru primirea punctajului pe subtaskul aferent.
# Punctaj Restricții
1 20 T,B,C,K10T, B, C, K \leq 10
2 20 T10;B,C,K1 000T \leq 10; B, C, K \leq 1 \ 000
3 5 B,C,K1 000;B+C=KB, C, K \leq 1 \ 000; B + C = K
4 10 B+C=KB + C = K
5 10 B,C,K1 000B, C, K \leq 1 \ 000
6 35 Fără restricții suplimentare.

Exemplul 1

dorel.in

6
3 3 3
1 5 6 
10 10 10
5 8 1
10 2 4
961 423 346

dorel.out

4
5
43758
0
0
434187092

Explicație

Pentru cazul B=3,C=3,K=3B = 3, C = 3, K = 3 avem următoarele configurații valabile posibile:

  • 0,1,20, 1, 2
  • 1,0,21, 0, 2
  • 2,0,12, 0, 1
  • 2,1,02, 1, 0

Pentru cazul B=1,C=5,K=6B = 1, C = 5, K = 6 avem următoarele configurații valabile posibile:

  • 1,0,0,0,01, 0, 0, 0, 0
  • 0,1,0,0,00, 1, 0, 0, 0
  • 0,0,1,0,00, 0, 1, 0, 0
  • 0,0,0,1,00, 0, 0, 1, 0
  • 0,0,0,0,10, 0, 0, 0, 1

Contest info

Official contest

Start time: 1709532000000

Total duration: 168h0m0s

Status: Ended

Individual duration: 4h0m0s

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