Profesorul de informatică trebuie să corecteze tezele a elevi. Elevii au avut de rezolvat probleme în teză, numerotate de la la . Fiecare elev a rezolvat toate problemele, deci profesorul are de corectat în total probleme. El observă că luând lucrările la rând și corectând toate problemele din prima lucrare, apoi toate problemele din a doua lucrare, ș.a.m.d., nu obține întotdeauna cel mai mic timp total de corectare a tezelor. Profesorul are următoarea metodă de corectură:
- Toate tezele se vor corecta în faze ();
- În fiecare fază se va decide asupra unei submulțimi de probleme care nu au fost deja corectate, . Aceste probleme se vor corecta în toate tezele înainte să se revină la prima teză;
- Formal, alegem astfel încât:
- ;
- .
La începerea corectării fiecărei teze, trebuie identificat numele elevului, proces care durează exact secunde de fiecare dată, chiar dacă se revine la aceeași teză de mai multe ori.
După începerea corectării unei teze, căutarea fiecărei probleme durează secunde. Corectarea primei probleme din submulțimea aleasă durează secunde, corectarea celei de-a doua probleme durează secunde ș.a.m.d. Se garantează că . De fiecare dată când se revine la o anumită teză și se reîncepe corectarea ei cu o altă submulțime de probleme, corectarea primei probleme din submulțime va dura din nou secunde.
Valoarea va fi dată în fișierul de intrare împreună cu valorile , din care se vor obține celelalte valori din șirul prin formula: , unde semnifică restul împărțirii lui la .
Cerință
Să se determine timpul minim în care pot fi corectate cele lucrări.
Date de intrare
Pe prima linie a fișierului de intrare teze.in
se află numerele , , și , despărțite prin câte un spațiu. Pe a doua linie se află două valori și , despărțite printr-un spațiu. Pe următoarele linii se află valorile .
Date de ieșire
În fișierul de ieșire teze.out
se va scrie un singur număr, reprezentând numărul de secunde în care se pot corecta tezele, modulo .
Restricții și precizări
# | Punctaj | Restricții |
---|---|---|
1 | 5 | |
2 | 10 | |
3 | 20 | |
4 | 30 | |
5 | 7 | |
6 | 8 | |
7 | 20 | Fără restricții suplimentare |
Exemplu
teze.in
2 10 5 2
1 1
2
teze.out
130
Explicație
Avem două probleme în teză, iar . Dacă le corectăm împreună, timpul de corectare pentru fiecare teză va fi: secunde pentru găsirea numelui elevului, secunde pentru găsirea primei probleme, secundă pentru corectarea primei probleme, secunde pentru găsirea problemei a doua și secunde pentru corectarea problemei a doua, deci în total secunde pentru fiecare dintre cele teze, adică de secunde în total.
O altă posibilitate este să corectăm prima dată problema în toate tezele, iar pe urmă să corectăm problema în toate tezele. Pentru corectarea primei probleme avem: secunde începerea corectării, secunde găsirea problemei și secundă corectarea problemei, în total pentru o teză, în total de secunde pentru toate tezele.
Pentru corectarea problemei avem exact același calcul, rezultă în total de secunde, deci prima metodă a fost mai eficientă și posibilitate mai bună nu există.