Steaguri

Time limit: 0.1s Memory limit: 64MB Input: steaguri.in Output: steaguri.out

Pe bulevardul principal sunt instalate nn catarge aliniate, numerotate de la 11 la nn. Fiecare catarg are un steag din una din mm culori (culorile sunt etichetate cu numerele 1,2,,m1, 2, \ldots, m).

Organizatorii doresc ca, pentru un moment al paradei, să existe pe un segment consecutiv de catarge o aranjare exactă de steaguri: fix k1k_1 steaguri de culoare 11, fix k2k_2 steaguri de culoare 22, \ldots, fix kmk_m steaguri de culoare mm.

Pentru a obține această configurație, organizatorii pot elimina oricâte steaguri doresc (de pe oricare catarg). După eliminări, se consideră șirul rezultat (ordinea catargelor rămâne aceeași, doar unele catarge sunt fără steag). Scopul este ca, în șirul rezultat, să existe un segment de catarge consecutive care conține exact kik_i steaguri de culoarea ii pentru fiecare i=1mi = 1 \ldots m.

Determinați numărul minim de steaguri care trebuie îndepărtate pentru ca o astfel de configurație să devină posibilă. Dacă nu se poate obține nici prin eliminări, afișați 1-1.

Cerință

Se dă un șir de nn steaguri colorate. Eliminând oricare dintre acestea, găsiți numărul minim de eliminări necesare astfel încât să existe un segment consecutiv cu exact kik_i apariții ale culorii ii, pentru fiecare i=1mi = 1 \ldots m.
Dacă nu există nicio soluție validă, afișați 1-1.

Date de intrare

Fișierul de intrare steaguri.in conține:

  • pe prima linie două numere întregi nn și mm (1n200 0001 \leq n \leq 200 \ 000, 1mn1 \leq m \leq n)
  • pe a doua linie nn numere c1,c2,,cnc_1, c_2, \ldots, c_n (fiecare în {1,2,,m}\{1, 2, \ldots, m\})
  • pe a treia linie k1,k2,,kmk_1, k_2, \ldots, k_m (0kin0 \leq k_i \leq n)

Date de ieșire

În fișierul de ieșire steaguri.out se afișează un singur număr:
Numărul minim de steaguri eliminate pentru ca, în șirul rezultat, să existe un segment consecutiv cu kik_i steaguri de culoarea ii pentru fiecare ii.
Dacă este imposibil, afișați 1-1.

Restricții și precizări

  • 1n200 0001 \leq n \leq 200 \ 000;
  • 1mn1 \leq m \leq n;
  • ci{1,2,,m}c_i \in \{1, 2, \ldots, m\};
  • 0kin0 \leq kᵢ \leq n.
# Punctaj Restricții
1 5 n1 000n \leq 1 \ 000, m=1m = 1
2 10 n2 000n \leq 2 \ 000, m2 000m \leq 2 \ 000
3 15 ki{0,1}k_i \in \{0, 1\}
4 20 cici+1c_i \leq c_{i+1}
5 20 m20m \leq 20
6 30 Fără restricții suplimentare

Exemplu

steaguri.in

8 3
3 3 1 2 2 1 1 3
3 1 1

steaguri.out

1

Explicatie:

Alegem segmentul [2,7][2, 7] si eliminam elementul de pe pozitia 55.

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