Pentru un număr natural a
definim costul ca fiind valoarea absolută (modulul) diferenței dintre a
și numărul prim cel mai apropiat de a
. Asupra unui șir de numere naturale, situate pe poziții numerotate de la la , se aplică, în ordine, o succesiune de operații. O operație constă dintr-o înlocuire și o afișare și este descrisă sub forma i x p
, cu semnificația:
- mai întâi înlocuim cu elementul din șir de pe poziția ;
- apoi afișăm suma minimă totală a costurilor unor elemente convenabil selectate de pe poziții distincte din șir.
Cerință
Cunoscând și cele elemente ale șirului, scrieți un program care să determine:
- suma costurilor tuturor elementelor din șirul dat;
- rezultatele afișate în urma aplicării fiecăreia dintre cele operații, date în forma precizată.
Date de intrare
Fișierul de intrare primprim.in
va conține pe prima linie un număr natural , reprezentând cerința care trebuie să fie rezolvată ( sau ), pe a doua linie numărul natural , cu semnificația din enunț, iar pe a treia linie cele elemente din șir, în ordinea din șir.
Dacă , pe a patra linie se află numărul natural , reprezentând numărul de operații, iar pe următoarele linii se află cele operații, câte o operație pe linie, în forma descrisă în enunț. Numerele scrise pe aceeași linie sunt separate prin câte un spațiu.
Date de ieșire
Dacă , fișierul de ieșire primprim.out
va conține o singură linie pe care va fi afișată suma costurilor tuturor elementelor din șir.
Dacă , fișierul de ieșire primprim.out
va conține linii, pe linia fiind scris rezultatul afișat după executarea celei de a -a operații din fișierul de intrare.
Restricții și precizări
- ;
- ; ;
- Elementele șirului sunt numere naturale nenule ;
- Pentru de puncte, , ;
- Pentru de puncte, , ;
- Pentru de puncte, , , ;
- Pentru de puncte, și nu există restricții suplimentare.
Exemplul 1
primprim.in
1
5
8 1 3 5 9
primprim.out
4
Explicație
, iar șirul este . Costurile elementelor sunt, în ordine, , deci suma este .
Exemplul 2
primprim.in
2
5
8 1 3 5 9
3
2 6 4
3 5 2
5 12 5
primprim.out
2
0
3
Explicație
, iar șirul inițial este . Se aplică șirului operații:
- După prima operație, pentru care , și , șirul devine . Suma minimă totală se obține dacă selectăm valorile de pe pozițiile și , costurile fiind .
- După a doua operație, pentru care , și , șirul devine . Selectăm valorile de pe pozițiile și (acestea având costul ).
- După a treia operație, pentru care , și , șirul devine . Selectăm toate valorile, deci suma este .