Ekstremal çeşidləmə
Cоn sıralama alqoritmlərini çox sevir. O, artıq sürətli sıralama, birləşmə sıralaması, rəqəm sıralaması və digər alqoritmləri öyrənib.
Bir müddət əvvəl, o, bloklamayan sətir sıralama proqramı yazmışdı. Bu proqram partlayıcı sıralama və çox açarlı sıralamanın birləşməsi idi. Partlayıcı sıralamanı həyata keçirmək üçün vedrə ağacından istifadə edirsiniz. Hər bir giriş sətiri üçün ağacdan keçərək onu müvafiq vedrəyə yerləşdirirsiniz. Vedrə dolduqda, "partlayır" və yeni alt ağac (yeni vedrələrlə) əmələ gətirir.
Keçmişdən kifayət qədər danışdıq. Bu gün Cоn yenidən öz sıralama alqoritmi üzərində işləyirdi. Bu dəfə o, rəqəmlərlə işləyirdi. Onun yeni bir alqoritm "ekstremal sıralama" ideyası var idi. Bu alqoritm son dərəcə sürətlidir və performansı doqquz minin bir az üstündədir. Sizə onun detallarını bildirməzdən əvvəl, Cоn onun düzgün işlədiyinə əmin olmaq istəyir.
Siz ona kömək etməlisiniz ki, alqoritmin birinci mərhələsindən sonra "ekstremal xüsusiyyət" adlandırılan xüsusiyyətin yerinə yetirildiyinə əmin olsun. Ekstremal xüsusiyyət min (x[i,j]
) ≥ 0 kimi müəyyən edilir, burada
Giriş məlumatları
Birinci sətir n (1 ≤ n ≤ 1024) ədədini ehtiva edir. İkinci sətir n tam ədədlər a[1]
, a[2]
, ..., a[n]
(1 ≤ a[i]
≤ 1024) ehtiva edir.
Çıxış məlumatları
Əgər ekstremal xüsusiyyət yerinə yetirilirsə "yes", əks halda "no" çap edin.