Time limit: 1s
Memory limit: 64MB
Input:
Output:
Cerință
Se dă un șir de lungime .
Putem face următoarea operație de câte ori dorim:
- Alegem un , , și setăm pe media vecinilor ( și )
Care este suma maximă a șirului care se poate obține?
Date de intrare
Pe prima linie se găsește . Pe următoarea linie se găsește șirul .
Date de ieșire
Suma maximă modulo .
Restricții și precizări
- ;
- Pentru a scrie rezultatul modulo trebuie privit ca o fracție care este echivalentă cu .
- În eventualitatea în care suma poate sa crească la infinit, se cere să se afișeze primul număr rațional pe care suma nu îl poate atinge.
- Se poate demonstra că un astfel de număr există.
Exemplul 1
stdin
3
3 1 5
stdout
12
Explicație
Alegem și rezultă șirul de sumă .
Exemplul 2
stdin
3
1 1 2
stdout
500000008
Explicație
Șirul rezultat este de sumă care modulo este .