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.
İ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.
Tək bir ədəd çıxarın — massivində mümkün olan maksimum prefiks maksimumlarının sayı.
Nümunə 1
İ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.
Alt tapşırıq ( xal): (n \le 10)
Alt tapşırıq ( xal): (a_i \le 10)
Alt tapşırıq ( xal): (v = u-1)
Alt tapşırıq ( xal): (u = 1)
Alt tapşırıq ( xal): (n \le 100)
Alt tapşırıq ( xal): (n \le 500)
Alt tapşırıq ( xal): (n \le 2000)
Alt tapşırıq ( xal): (n \le 75000)
Alt tapşırıq ( xal): Əlavə məhdudiyyət yoxdur