Yenə ağaclar#12372

Yenə ağaclar

1 saniyə
256 meqabayt
Çox çətin

nöqtəsi kök olan nöqtədən ibarət bir kök ağacı verilir. Hər bir nöqtədə bir tam ədəd var.

Aşağıdakı rekursiv prosedurdan istifadə edərək bir massivi qururuq:

dfs(v):
    nöqtə v-dəki ədədi a massivinin sonuna yaz
    nöqtə v-nin uşaqlarının istənilən sırasını seç
    seçilmiş sıradakı hər bir uşaq u üçün:
        dfs(u)

İlk olaraq, çağırılır.

Qeyd edək ki, hər bir nöqtədə uşaqların sırası istənilən şəkildə seçilə bilər, buna görə də, bu sıralamadan asılı olaraq, massivi fərqli ola bilər.

Bir elementi a_i prefiks maksimumu adlandıracağıq, əgər o, massivdəki bütün əvvəlki elementlərdən qat-qat böyükdür. Massivin ilk elementi də prefiks maksimumu hesab olunur.

massivində mümkün olan maksimum prefiks maksimumlarının sayını tapmaq lazımdır.

Giriş

İlk sətir ağacdakı nöqtələrin sayı (1 \le n \le 2 \cdot 10^5) — nöqtələrin sayıdır.

İkinci sətir massivini (1 \le a_i \le 10^9) — nöqtələrdə yazılmış dəyərləri ehtiva edir.

Sonrakı n-1 sətirdə iki ədəd və (1 \le u, v \le n) verilir — ağacdakı kənarlar.

Çıxış

Tək bir ədəd çıxarın — massivində mümkün olan maksimum prefiks maksimumlarının sayı.

Nümunələr

Nümunə 1

Loading
Loading

Qeyd

İlk test nümunəsində aşağıdakı ağacımız var.

Ən əlverişli gedişi seçdikdən sonra aşağıdakı [5, 2, 3, 6, 8, 7, 9] massivini əldə edəcəyik.

Bu massiv üçün prefiks maksimumları [5, 6, 8, 9] olacaq.

Bal hesablama

  1. Alt tapşırıq ( xal): (n \le 10)

  2. Alt tapşırıq ( xal): (a_i \le 10)

  3. Alt tapşırıq ( xal): (v = u-1)

  4. Alt tapşırıq ( xal): (u = 1)

  5. Alt tapşırıq ( xal): (n \le 100)

  6. Alt tapşırıq ( xal): (n \le 500)

  7. Alt tapşırıq ( xal): (n \le 2000)

  8. Alt tapşırıq ( xal): (n \le 75000)

  9. Alt tapşırıq ( xal): Əlavə məhdudiyyət yoxdur