RoAlgo PreOJI 2024 X | egale

This was the problem page during the contest. Access the current page here.
Time limit: 0.4s
Memory limit: 256MB
Input: egale.in
Output: egale.out

Pe un șir x1,x2,xkx_1, x_2, \dots x_k de numere naturale poți aplica două tipuri de operații:

1.1. Alegi două numere (i,j)(i, j) cu 1ijk1 \leq i \leq j \leq k și fiecare valoare de la ii la jj devine 00.
2.2. Alegi două numere (i,j)(i, j) cu 1ijk1 \leq i \leq j \leq k și aduni 11 la fiecare valoare de la ii la jj.

De exemplu, dacă începem cu șirul x=[1,3,0,2,3]x = [1, 3, 0, 2, 3]. Am putea, de exemplu, să aplicăm următoarea secvență de operații:

  1. Aplicăm operația 11 pentru (2,3)(2, 3). x=[1,0,0,2,3]x = [1, 0, 0, 2, 3].
  2. Aplicăm operația 22 pentru (1,3)(1, 3). x=[2,1,1,2,3]x = [2, 1, 1, 2, 3].
  3. Aplicăm operația 22 pentru (4,5)(4, 5). x=[2,1,1,3,4]x = [2, 1, 1, 3, 4].
  4. Aplicăm operația 11 pentru (1,3)(1, 3). x=[0,0,0,3,4]x = [0, 0, 0, 3, 4].

Cerință

Se dă nn și un șir a1,a2,ana_1, a_2, \dots a_n de numere naturale. Se dau QQ interogări de forma l,r,vl, r, v. Care e numărul minim de operații pe care trebuie să le faci astfel încât v=al=al+1=al+2==arv = a_l = a_{l+1} = a_{l+2} = \dots = a_r. După fiecare interogare, șirul aa se va reseta la cel inițial.

Date de intrare

Pe prima linie a fișierului de intrare egale.in se găsesc două numere întregi, nn și QQ. Pe a doua linie se află șirul a1,a2,ana_1, a_2, \dots a_n de numere naturale. Pe următoarele QQ linii se află câte o tripletă l,r,vl, r, v.

Date de ieșire

Pentru fiecare ii de la 11 la QQ, pe a ii-a linie a fișierului de ieșire egale.out se va găsi un singur număr întreg, răspunsul la cea de-a ii-a întrebare.

Restricții și precizări

  • 1n,Q100 0001 \leq n, Q \leq 100 \ 000
  • 0ai2000 \leq a_i \leq 200 pentru fiecare ii de la 11 la nn
  • 1lrn1 \leq l \leq r \leq n și 0v2000 \leq v \leq 200 pentru fiecare interogare.
# Punctaj Restricții
1 10 v=0v = 0 pentru fiecare interogare și n,Q1 000n, Q \leq 1 \ 000
2 15 v=0v = 0 pentru fiecare interogare
3 19 1n,Q1 0001 \leq n, Q \leq 1 \ 000
4 12 ai1a_i \leq 1
5 25 ai10a_i \leq 10
6 19 Fără alte restricții

Exemplul 1

egale.in

11 5
1 2 1 2 1 0 5 2 3 1 6
1 4 1
1 4 2
1 11 0
1 11 4
6 9 5

egale.out

2
2
1
5
6

Explicație

Pentru prima interogare, trebuie să aflăm numărul minim de operații să facem toate elementele din șirul [1,2,1,2][1, 2, 1, 2] egale cu 11. Singurul mod în care putem face acest lucru în 22 operații este să aplicăm operația 11 pe tot șirul, după operația 22 pe tot șirul.

Exemplul 2

egale.in

10 10
3 2 9 4 10 9 1 0 8 6
3 3 7
4 5 9
5 8 9
1 6 3
5 5 7
3 10 2
3 4 1
7 8 5
3 8 10
4 7 1

egale.out

8
10
10
4
8
3
2
5
11
2

Exemplul 3

egale.in

5 4
0 1 0 0 1 
1 1 0
1 2 0
1 3 0
3 4 0

egale.out

0
1
1
0

Explicație

Acest exemplu, verifică v=0v = 0 pentru fiecare interogare.

La prima interogare, deja toate elemenetele sunt 00, deci nu mai trebuie să facem alte operații.

La a doua interogare, putem face operația 11 pe intervalul (1,2)(1, 2).

Contest info

Official contest

Start time: 1709532000000

Total duration: 168h0m0s

Status: Ended

Individual duration: 4h0m0s

Log in or sign up to be able to send submissions!