Ursus

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

În România, populația de urși este în continuă creștere. Cercetătorii de la Institutul Viitorului (IV) au hotărât să studieze mai îndeaproape acest fenomen, analizând comportamentul unei mici populații de urși în condiții speciale și într-un spațiu restrâns.

Ei au constatat că o „familie” formată din 2 urși (mascul și femelă) are, în medie, aa pui. Presupunem că se nasc un număr egal de masculi și femele. Astfel, într-un model matematic simplist, numărul de urși se înmulțește cu a2\frac{a}{2} de la o generație la alta. În plus, există și mici mase migratoare de urși. Aceștia nu participă la propagarea speciei și sunt tratați separat. Cercetătorii au observat că de la o generație la alta în spațiul studiat ajung, în medie, bb urși „străini” și pleacă cc urși „străini”.

Pe scurt, dacă într-o generație există xx urși „băștinași” și yy urși „străini”, în următoarea generație vor exista ax2\frac{ax}{2} urși „băștinași” și y+bcy + b - c urși „străini”.

Cea mai importantă concluzie pe care au tras-o cercetătorii este că atât populația de urși „băștinași”, cât și cea de urși „străini” crește strict.

Cerință

La începutul studiului (generația 1) există xx urși „băștinași” și niciun urs „străin”.

Se dau: numărul cerinței (tt) și qq întrebări, fiecare conținând un număr nn. În funcție de numărul cerinței, trebuie determinat:

  1. Câți urși vor exista în total în generația nn?
  2. Spațiul, fiind restrâns, permite un număr de maximum nn urși în total. Până la a câta generație se poate desfășura experimentul fără depășirea limitei de nn urși?

Date de intrare

Prima linie conține două numere naturale, tt (numărul cerinței) și qq (numărul de întrebări).

A doua linie conține un număr natural, xx (numărul inițial de urși) și trei numere reale (zecimale) pozitive, aa, bb și cc, cu semnificația din enunț (caracterizează creșterea populației).

Pe următoarele qq linii se găsește câte un număr natural nn (numărul generației pentru cerința 1 și numărul maxim de urși pentru cerința 2).

Date de ieșire

Pe cele qq linii ale ieșirii se vor afișa răspunsurile la întrebări. Linia ii va conține răspunsul la întrebarea ii. Toate numerele afișate vor fi numere naturale. În cazul primei cerințe, se va afișa răspunsul la întrebare rotunjit la cel mai apropiat număr întreg.

Pentru a afișa variabila x de tip double rotunjită la cel mai apropiat număr întreg, includeți biblioteca cmath și folosiți instrucțiunea std::cout << (long long)std::round(x);.

Restricții și precizări

  • Se recomandă folosirea tipului de date double (în loc de float) pentru reprezentarea numerelor reale.
  • t{1,2}t \in \{1, 2\}
  • 1q1061 \leq q \leq 10^6
  • 2x102 \leq x \leq 10
  • 2<a<42 < a < 4
  • 0c<b1090 \leq c < b \leq 10^9
  • Studiul durează maximum 500500 de generații.
  • Numărul maxim de urși într-o generație este de 101410^{14}.
  • Pentru cerința 1, se garantează că nn este cel puțin egal cu 11 și strict mai mic decât numărul primei generații în care numărul de urși depășește 101410^{14} pentru fiecare întrebare.
  • Pentru cerința 2, se garantează că nn este cel puțin egal cu xx și cel mult egal cu numărul de urși din generația 500500 pentru fiecare întrebare.
  • Se acordă 40 de puncte pentru rezolvarea cerinței 1 și 60 de puncte pentru rezolvarea cerinței 2.
  • Pentru citirea și afișarea rapidă, se recomandă folosirea acestor linii de cod la începutul funcției main:
ios::sync_with_stdio(false);  
cin.tie(NULL);  
cout.tie(NULL);  

Exemplul 1

stdin

1 4
6 2.45 7.55 3.88
3
1
5
2

stdout

16
6
28
11

Explicație

Se rezolvă prima cerință; avem patru întrebări. Inițial există 6 urși „băștinași”, iar a=2.45a = 2.45; b=7.55b = 7.55; c=3.88c = 3.88.

În cea de-a doua generație vor fi aproximativ 62.452=7.35\frac{6\cdot 2.45}{2} = 7.35 urși „băștinași” și 0+7.553.88=3.670 + 7.55 - 3.88 = 3.67 urși „străini”.
În cea de-a treia generație vor fi aproximativ 7.352.452=9.00375\frac{7.35\cdot 2.45}{2} = 9.00375 urși „băștinași” și 3.67+7.553.88=7.343.67 + 7.55 - 3.88 = 7.34 urși „străini”. În total, 9.00375+7.34=16.343759.00375 + 7.34 = 16.34375 urși. Acest număr rotunjit la cel mai apropiat întreg este 1616, deci se va afișa 1616.

Se procedează similar și pentru celelalte întrebări.

Exemplul 2

stdin

2 3
6 2.45 7.55 3.88
12
8
29

stdout

2
1
5

Explicație

Se rezolvă cea de-a doua cerință; avem trei întrebări. Inițial există 6 urși „băștinași”, iar a=2.45a = 2.45; b=7.55b = 7.55; c=3.88c = 3.88.

Folosind calculele făcute anterior, în prima generație există 66 urși, în cea de-a doua există 7.35+3.67=11.027.35 + 3.67 = 11.02, iar în cea
de-a treia 16.3437516.34375. Experimentul se poate desfășura doar până la cea de-a doua generație fără a depăși limita de 1212 urși.

Se procedează similar și pentru celelalte întrebări.

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