Revizia anterioară Revizia următoare
| Fişierul intrare/ieşire: | sandwich.in, sandwich.out | Sursă | Junior Challenge 2025 |
| Autor | Muresan Luca Valentin | Adăugată de | |
| Timp execuţie pe test | 0.7 sec | Limită de memorie | 262144 kbytes |
| Scorul tău | N/A | Dificultate | N/A |
Vezi solutiile trimise | Statistici
Sandwich
În Tărâmul Ooo, Jake vrea să pregătească sandwichul magic perfect. Pe o potecă sunt aliniate N ingrediente numerotate de la 1 la N, iar ingredientul i are o valoare de „gust” ai. Magia sandwichului are o regulă ciudată: nu are voie să aleagă două ingrediente alăturate, altfel magia se risipeşte.
Pentru orice segment continuu de ingrediente al al+1 ... ar, Jake poate alege un subşir de poziţii strict crescător (eventual gol) astfel încât să nu existe două poziţii adiacente alese. Gustului total acelui subşir este: ai1 + ai2 + ... + aik, cu l ≤ i1 < i1 < ... < ik ≤ r şi ij + 1 < ij+1 pentru orice 1 ≤ j < k.
Definim
= gustul total maxim posibil pentru un astfel de subşir (se permite subşirul gol).
Jake vrea să ştie câtă magie totală poate aduna, dacă ia în calcul toate subsecvenţele posibile ale potecii. Cu alte cuvinte, calculaţi:

Date de intrare
Fişierul de intrare sandwich.in conţine numerele N, x, y, z şi a1. Şirul a este codificat astfel:
ai = (ai-1 * x + y) % z pentru orice 2 ≤ i ≤ N
Date de ieşire
În fişierul de ieşire sandwich.out afişaţi valoarea lui S modulo 109 + 7.
Restricţii
- 1 ≤ N ≤ 5 000 000
- 1 ≤ ai ≤ 1 000 000 000
| # | Punctaj | Restricţii |
|---|---|---|
| 1 | 3 | N ≤ 15 |
| 2 | 16 | N ≤ 500 |
| 3 | 15 | N ≤ 2000 |
| 5 | 10 | N ≤ 200 000 şi ai ≤ 1 |
| 5 | 41 | N ≤ 200 000 |
| 6 | 15 | N ≤ 5 000 000 |
Exemplu
| sandwich.in | sandwich.out |
|---|---|
| This is some text written on multiple lines. | This is another text written on multiple lines. |
Explicaţie
...
