Orice număr natural mai mare decât poate fi scris ca sumă de numere naturale nenule aflate în ordine strict crescătoare, astfel încât orice termen al sumei, cu excepția primului termen, este un multiplu a termenului precedent din sumă. De exemplu, , unde este multiplul lui , iar este multiplul lui . Cum se dorește o descompunere formată dintr-un număr cât mai mare de termeni, vom obține și descompuneri cu termeni: sau sau . Dintre cele trei descompuneri cu termeni, descompunerea este minimă din punct de vedere lexicografic ( și sunt la fel în cele descompuneri, dar și ). Numărul poate fi descompus . El are o descompunere tot de lungime , dar este mai mare din punct de vedere lexicografic decât oricare dintre descompunerile cu termeni ale lui ().
Cerință
Pentru mai multe seturi de date formate din câte două numere naturale și , , se cere să se determine, pentru fiecare set, una dintre următoarele cerințe:
numărul maxim de termeni în care pot fi descompuse numerele din intervalul după regula descrisă în enunț;
numărul de numere din intervalul care pot fi descompuse cu un număr maxim de termeni;
numărul din intervalul care admite o descompunere cu un număr maxim de termeni, minimă din punct de vedere lexicografic.
Date de intrare
Din fișierul multisum.in
se citesc, de pe prima linie, două numere și , despărțite printr-un spațiu, reprezentând numărul de seturi de date și tipul cerinței: pentru cerința , pentru cerința și pentru cerința . De pe următoarele linii ale fișierului se citește câte o pereche de numere și , separate printr-un spațiu.
Date de ieșire
În fișierul multisum.out
se va scrie câte o linie pentru fiecare pereche din fișierul de intrare, linie care va conține numărul cerut, conform cerinței: dacă , numărul va reprezenta numărul maxim de termeni dintr-o descompunere, dacă , numărul va reprezenta numărul de valori din intervalul respectiv care pot fi descompuse cu un număr maxim de termeni, iar dacă , numărul va reprezenta acea valoare din intervalul respectiv care admite o descompunere cu un număr maxim de termeni, minimă din punct de vedere lexicografic.
Restricții și precizări
- ;
- ;
- Suma lungimilor intervalelor din toate seturile unui test nu va depăși ;
- Pentru rezolvarea corectă a cerinței , se acordă din punctaj, pentru cerința se acordă din punctaj, iar pentru cerința se acordă din punctaj;
- Pentru teste în valoare de de puncte, și suma lungimilor intervalelor din teste nu va depăși .
Exemplul 1
multisum.in
1 1
50 60
multisum.out
5
Explicație
Există un singur set de date. Se rezolvă cerința .
Descompunerile maximale ale numerelor din interval au unele termeni, altele termeni. Deci cel mai mare număr de termeni este (și acesta se obține pentru numerele , , și ).
Exemplul 2
multisum.in
1 2
50 60
multisum.out
4
Explicație
Există un singur set de date. Se rezolvă cerința .
Numerele care se pot descompune într-un număr maxim de termeni sunt , , și . Deci sunt numere care admit o descompunere maximală.
Exemplul 3
multisum.in
1 3
50 60
multisum.out
55
Explicație
Există un singur set de date. Se rezolvă cerința .
Cele numere care admit descompuneri maximale sunt:
- ;
- ;
- ;
- ;
- ;
- .
Cea mai mică sumă din punct de vedere lexicografic este și ea corespunde numărului .
Exemplul 4
multisum.in
3 3
50 50
10 13
16 17
multisum.out
50
11
17
Explicație
Sunt seturi de date. Se rezolvă cerința .
- Intervalul conține doar numărul care admite o singură descompunere maximală (cu termeni) și aceasta este minimă din punct de vedere lexicografic.
- Dintre numerele din intervalul , numerele , și admit o descompunere cu un număr maxim de termeni ( termeni), dar o descompunere maximală a lui () este minimă din punct de vedere lexicografic.
- În intervalul numerele admit câte două descompuneri maximale:
- ;
- ;
- ;
- .
Descompunerea minimă din punct de vedere lexicografic este și corespunde valorii .