Feladat: S.146 Korcsoport: 18- Nehézségi fok: nehéz
Füzet: 2020/október, 424. oldal  PDF  |  MathML 
Témakör(ök): Számítástechnika, informatika, Nehezebb feladat, Számítástudomány

A szöveg csak Firefox böngészőben jelenik meg helyesen. Használja a fenti PDF file-ra mutató link-et a letöltésre.

Adott egy N elemű T tömb 1-től indexelve, amely nemnegatív egész számokat tartalmaz. Kétféle műveletet végzünk a T tömb elemeivel. Az egyik műveletben hozzáadunk a tömb néhány egymást követő eleméhez egy p értéket, vagyis adott a és b mellett minden i[a,b] indexű T[i] elem ezután T[i]+p lesz. Definiáljuk adott c és d esetén (ahol d-c+1 páros) a következő szorzatösszeget: T[c]T[c+1]+T[c+2]T[c+3]+...+T[d-1]T[d], amely a [c,d] intervallum értéke a T tömbön. A második műveletben adjuk meg a c és d számok által meghatározott intervallum értékét. Mivel egy intervallum értéke nagyon nagy is lehet, ezért a lekérdezés eredményének 109+7-tel vett osztási maradékát kell megadni.
Bemenet: az első sor tartalmazza az N és Q számokat. A következő sor N számot tartalmaz, T elemeit. A következő Q sor mindegyike vagy 1abp alakú, ami azt jelenti, hogy az [a;b] intervallumon minden tömbértéket megváltoztatunk p-vel; vagy 2cd alakú, ami azt jelenti, hogy lekérdezzük a [c,d] intervallum értékét.
Kimenet: minden 2-es típusú kérdésre adjuk meg az intervallum értékét modulo 109+7.
Példa:

 
BemenetKimenet  (a /  jel(a /  jel sortörést helyettesíti)sortörést helyettesíti)  5 3 / 1 0 2 3 1 / 2 1 4 / 1 2 4 1 / 2 2 56 / 7   
 

Korlátok: 1N,Q105, 0T[i],p109, 1a,b,c,dN, ab, c<d. Időkorlát: 0,3 mp.
Értékelés: a pontok 50%-a kapható, ha N100.
Beküldendő egy s146.zip tömörített állományban a megfelelően dokumentált és kommentezett forrásprogram, amely tartalmazza a megoldás lépéseit, valamint megadja, hogy a program melyik fejlesztői környezetben futtatható.