BitTorrent
BitTorrent, həm müştəri, həm də server kimi fəaliyyət göstərən düyünlər üzərində çalışan peer-to-peer şəbəkəsində böyük faylların ötürülməsi üçün bir protokoldur. Bu, mərkəzləşdirilmiş müştəri-server arxitekturasından fərqlidir, burada müştəri düyünləri resursları əldə etmək üçün mərkəzi serverlərə müraciət edir. Əslində, protokol istifadəçilərə bir-birindən faylları eyni zamanda yükləmək və yükləmək üçün hostlar qrupu yaratmağa imkan verir. Faylların bütün paketi (torrent adlanan) şəkildə göstərildiyi kimi hissələrə bölünür. Məsələn, 10 MB-lıq paket dəqiq on 1M-lik hissələrə və ya dəqiq qırx 256KB-lik hissələrə bölünə bilər. Hər bir host (və ya peer) torrentin yeni bir hissəsini aldıqda, həmin hissənin digər hostlar üçün mənbəyi olur. Hissələr adətən ardıcıl olmayan şəkildə yüklənir və hostlar tərəfindən düzgün qaydada düzülür. Hər bir host müstəqil şəkildə hansı hissələrin yüklənməli olduğunu idarə edir. Hissələr bir torrent yükləməsi boyunca eyni ölçüdədir, sonuncu hissə istisna olmaqla, onun ölçüsü daha kiçik ola bilər.
Siz fayl paketini yükləmək istəyirsiniz, lakin aylıq İnternet istifadəsi limitinizə yaxınlaşırsınız və növbəti aya qədər gözləmək istəmirsiniz. Qalan bant genişliyi ilə maksimum sayda fayl yükləmək istəyirsiniz. Hansı hissələr yüklənməlidir?
Fayl paketi (torrent)
Giriş verilənləri
Giriş bir neçə test halını ehtiva edir. Hər bir test halı üç boşluqla ayrılmış tam ədəd N, P və L ilə başlayır, burada N torrentdəki faylların sayıdır (1 ≤ N ≤ 3000), P hissələrin ölçüsüdür KB ilə (1 ≤ P ≤ 1000), və L aylıq İnternet istifadəsi limitinizdən qalan kilobaytlardır (1 ≤ L ≤ 10^6). Test halının ikinci sətri N boşluqla ayrılmış müsbət tam ədədlərdən ibarətdir, burada i-ci ədəd torrentdəki i-ci faylın ölçüsüdür (KB ilə) və 100000-i keçmir. Giriş "0 0 0" ilə bitir, bu işlənməməlidir.
Çıxış verilənləri
Hər bir test halı üçün torrentdən yüklənə biləcək maksimum fayl sayını ehtiva edən bir sətir çıxarın.