Am fost luat în râs de două ori...
După multe zile de încercări și convingere, Maria a acceptat, în sfârșit, să se joace cu Buzdi. Fiind destul de inteligenți, aceștia au reușit să inventeze un nou joc numit restricționare
. Buzdi a adus un șir de numere întregi, iar Maria a adus un șir de numere naturale. După aceasta, cei doi au definit operația de restricționare
a unui număr astfel:
- Se descompune în factori primi. Fie aceasta.
- Fiecare exponent își schimbă valoarea dacă valoarea curentă a acestuia este mai mică decât . Formal, , pentru fiecare .
De exemplu, dacă și , atunci, după aplicarea operației de restricționare
, .
De asemenea, dacă și , atunci, după aplicarea operației de restricționare
, .
Prin convenție, după aplicarea operației de restricționare
numerelor , sau , acestea nu își vor schimba valoarea.
Cerință
- Buzdi o provoacă pe Maria să rezolve următoarea cerință: Care este valoarea maximă din șirul înainte și după aplicarea operației de
restricționare
tuturor numerelor din șirul ? - Maria îl provoacă pe Buzdi să rezolve următoarea cerință: Care este numărul minim de numere cărora trebuie să le aplicăm operația de
restricționare
astfel încât suma oricărei subsecvențe din șirul nou obținut să fie mai mică sau egală decât ?
Cei doi trebuie să rezolve cerința primită de la celălalt pentru a nu fi luați in râs de abilitățile acestora de rezolvat probleme. Scopul vostru este să le rezolvați pentru a îi ajuta pe amândoi.
Date de intrare
Pe prima linie se află un număr natural , reprezentând grupa de teste din care face parte testul respectiv. Pe următoarea linie se găsesc două numere naturale, și , unde reprezintă cerința ce trebuie rezolvată. Pe următoarea linie se află numere întregi, separate printr-un spațiu, reprezentând numerele șirului . Pe următoarea linie se află numere naturale, separate printr-un spațiu, reprezentând numerele șirului . Dacă , atunci pe următoarea linie se află numărul întreg .
Date de ieșire
Dacă , atunci pe prima linie se vor afla două numere întregi, separate printr-un spațiu, reprezentând soluția cerinței .
Dacă , atunci pe prima linie se va afla un număr întreg, reprezentând soluția cerinței .
Restricții și precizări
- Atenție! Această problemă a avut unele teste greșite în timpul concursului oficial. Suma punctajelor testelor greșite a fost redistribuită în mod egal pe toate celelalte teste, iar clasamentul a fost recalculat. Din fericire, acesta nu a fost afectat. Aceste teste au fost, ulterior, modificate, pentru ca soluțiile corecte să obțină punctajul corespunzător. Ne cerem scuze!
- .
- , pentru fiecare .
- , pentru fiecare .
- .
- O subsecvență a unui șir reprezintă o succesiune de numere aflate pe poziții consecutive în șirul .
- Se garantează că pentru există soluție.
- 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);
- Grupurile de teste sunt următoarele:
G Punctaj Restricții 0 0 Exemplele 1 8 și este număr prim, pentru fiecare 2 30 și 3 10 4 3 și , pentru fiecare 5 22 și 6 27
Exemplul 1
stdin
0
1
6
12 8 36 100 -1 60
1 1 2 1 0 1
stdout
100 36
Explicație
Fie șirul obținut după aplicarea operației de restricționare
tuturor numerelor din șirul . Atunci, = .
Observăm că cea mai mare valoare din șirul este , iar cea mai mare valoare din șirul este .
Exemplul 2
stdin
0
2
6
12 8 36 100 -1000 60
1 1 2 1 0 1
60
stdout
2
Explicație
Este suficient să aplicăm operația de restricționare
numerelor și . Astfel, se poate demonstra că suma oricărei subsecvențe din șirul nou obținut este mai mică sau egală decât .