Rezolvare PBinfo #4177

Decorative Icon Problema: livada2 / 4177

Decorative IconAutor: Deivid

Fiind un băiat aventurier, călărețul Jonathan obișnuia să umble prin pădurile magice ale împărăției tatălui său. În interiorul meleagurilor lui, împăratul avea o livadă specială, în cadrul căreia se aflau n meri magici, numerotați de la 1 la n, fiecare măr i conținând o cantitate cunoscută m[i] de fructe. Fiind speciali, cantitatea de fructe din acești meri putea fi modificată. Ca în orice poveste, împăratul avea un dușman, pe vrăjitorul Afida, care dorea să-i atace livada. Cunoscând acest fapt, Jonathan, fiul împăratului, dorește să protejeze livada tatălui său. Cei doi se confruntă în livadă, fiecare făcând modificări asupra merilor. Există în total q modificări, fiind de două tipuri:

1 x y p: cantitatea de fructe din merii cu indici cuprinși între x și y crește cu p, fiind o modificare făcută de Jonathan

2 x y p: cantitatea de fructe din merii cu indici cuprinși între x și y scade cu p, fiind o modificare făcută de vrăjitorul Afida

Mai mult: În cadrul livezii împăratului, există câțiva meri extra magici care influențează modificările pe care le fac cei doi. Dacă în cadrul unei modificări a lui Jonathan, după y există un măr extra magic t, astfel încât între y și t nu există alt măr extra magic, interogarea cuprinsă între x și y se va transforma în interogare între x și t. Dacă în cadrul unei modificări a lui Afida, înaintea lui x există un măr extra magic t, astfel încât între t și x nu există alt măr extra magic, interogarea cuprinsă între x și y se va transforma în interogare între t și y.

Cerința

Să se afișeze cantitatea de fructe din fiecare măr după cele q modificări.

Date de intrare

Pe prima linie a fișierului livada2.in se găsește numărul n. Pe următoarea linie se găsesc n numere întregi, separate printr-un spațiu, al i-lea număr reprezentând cantitatea de fructe din mărul corespunzător. Pe următoarea linie se găsesc n numere, 0 sau 1, separate printr-un spațiu, valorile 1 indicând faptul că mărul de pe poziția i este extra special. Pe a 4-a linie se află numărul q de modificări. Următoarele q linii vor conține interogările, fiind de forma: c x y p. Dacă c=1, modificarea este făcută de Jonathan. Dacă c=2, modificarea este făcută de vrăjitorul Afida.

Date de ieșire

n fișierul livada2.out vor fi afișate n numere întregi separate prin câte un spațiu, reprezentând valorile din m, adică cantitatea de fructe a fiecărui măr.

Restricții și precizări
  • 1 ≤ n ≤ 100.000
  • 1 ≤ q ≤ 250.000
  • 1 ≤ m[i] ≤ 1000, pentru 1 ≤ i ≤ n
  • Pentru 40 de puncte, q ≤ 1000 și n ≤ 1000
  • Pentru alte 20 de puncte, nu vor exista meri extra speciali
Exemplu:

livada2.in

10
17 18 2 21 14 6 13 14 8 10 
1 1 0 0 0 0 1 0 0 0 
7
2 4 7 3 
1 8 9 16 
2 8 8 25 
2 4 4 8 
1 2 8 1 
2 8 9 21 
1 5 6 19

livada2.out

17 8 -8 11 31 23 -16 -15 3 10

Explicație

Modificările efectuate sunt:

2 4 7 3: Modificare făcută de Afida între indicii 4 și 7. În stânga lui 4, se află mărul extra special 2. Modificarea se va face între indicii 2 și 7, și se va scădea 3 din fiecare număr, rezultând valorile 17 15 -1 18 11 3 10 14 8 10

1 8 9 16: Modificare făcută de Jonathan între indicii 8 și 9. În dreapta lui 9 nu există alt măr extra special. Modificarea se va face între indicii 8 și 9, și se va adăuga 16 la fiecare număr, rezultând valorile 17 15 -1 18 11 3 10 30 24 10

2 8 8 25: Modificare făcută de Afida între indicii 8 și 8. În stânga lui 8, se află mărul extra special 7. Modificarea se va face între indicii 7 și 8, și se va scădea 25 din fiecare număr, rezultând valorile 17 15 -1 18 11 3 -15 5 24 10

2 4 4 8: Modificare făcută de Afida între indicii 4 și 4. În stânga lui 4, se află mărul extra special 2. Modificarea se va face între indicii 2 și 7, și se va scădea 8 din fiecare număr, rezultând valorile 17 7 -9 10 11 3 -15 5 24 10

1 2 8 1: Modificare făcută de Jonathan între indicii 2 și 8. În dreapta lui 8 nu există alt măr extra special. Modificarea se va face între indicii 2 și 8, și se va adăuga 1 la fiecare număr, rezultând valorile 17 8 -8 11 12 4 -14 6 24 10

2 8 9 21: Modificare făcută de Afida între indicii 8 și 9. În stânga lui 8, se află mărul extra special 7. Modificarea se va face între indicii 7 și 9, și se va scădea 21 din fiecare număr, rezultând valorile 17 8 -8 11 12 4 -35 -15 3 10

1 5 6 19: Modificare făcută de Jonathan între indicii 5 și 6. În dreapta lui 6 se află mărul extra special 7. Modificarea se va face între indicii 5 și 7, și se va adăuga 19 la fiecare număr, rezultând valorile 17 8 -8 11 31 23 -16 -15 3 10

Decorative Icon Explică rezolvarea folosind Inteligența Artificială

Folosește modelul nostru de AI special antrenament pentru a rezolva problemele de pe PBinfo! În baza creditelor AI primești explicații pentru probleme, pe care le alegi și le rulezi exact atunci când dorești, la un singur click distanță! Află mai multe informații:

👉 Achiziționează credite AI
Andrei Frîntu
Andrei Frîntu

Fondatorul platformei - mentor Academia

LinkedIn Instagram GitHub
© Copyright 2026 - CodulLuiAndrei.ro - Toate drepturile sunt rezervate