المپدیا

دانش‌نامه‌ی المپیاد کامپیوتر ایران

ابزار کاربر

ابزار سایت


سوالات المپیاد:متفرقه:سوال های ای سی ام سایت تهران:دوره ی ۱۵:e

BitTorrent

بیت‎ تورنت پروتکلی برای تبادل فایل‌های حجیم در شبکه‌های نظیر به نظیر می‌باشد که هر نود هم به عنوان سرور و هم کلاینت عمل می‌کند‏، بر خلاف معماری سرور-کلاینت که تمامی کلاینت‌ها تقاضاهای خود را به یک سرور مرکزی ارسال می‌کنند. در واقع این پروتکل اجازه می‌دهد که یک گروه از کاربران بتوانند به صورت همزمان با یکدیگر دریافت و ارسال فایل داشته باشند. به طور دقیق‌تر بسته‌ای از فایل‌ها (که تورنت نامیده می‌شود) به تکه‌هایی قسمت‌بندی می‌شوند.(مطابق شکل) برای مثال یک بسته ‎$ ‎10 ‎MB‎ $‎ ممکن است به ‎$ ‎10‎ $‎ بسته ‎$ 1‎ ‎MB‎ $‎ و یا ‎$ ‎40‎ $‎ بسته ‎$ ‎256 ‎KB‎ $‎ شکسته شود. هر زمان که یک نود (کلاینت) یک قسمت از یک فایل را دریافت می‌کند به منبعی برای توزیع آن قسمت از فایل در شبکه تبدیل می‌شود. این قسمت‌ها د‎‎ر اکثر موارد به صورت غیر متوالی دانلود شده‌اند و لازم است مرتب شوند تا فایل اصلی را بسازند. هر نود به صورت مستقل قسمت‌هایی را که باید دانلود کند را مدیریت می‌کند. تمامی قسمت‌ها به جز قسمت آخر دارای سایز یکسانی هستند‏، قسمت آخر می‌تواند سایز کم‌تری داشته باشد.

شما می‌خواهید یک بسته از فایل‌ها را دانلود کنید ولی در این ماه محدودیت مصرف اینترنت دارید. با این حال نمی‌خواهید تا ماه آینده صبر نمایید. هدف شما دانلود بیش‌ترین تعداد فایل با پهنای باند باقی‌مانده اینترنت در این ماه است. کدام قسمت‌ها باید دانلود شود؟

ورودی

  • ورودی شامل سناریوهای مختلفی است. در خط اول هر سناریو ‎ ‎$ 3‎ $‎‎‎عدد داده شده است‏، اولی ‎$ N‎ ‎(‎1 ‎\leq N ‎\leq 1000‎‎‎)‎ $‎ تعداد فایل‌ها در هر تورنت است‏، دومی ‎$ P ‎(1 ‎\leq P ‎\leq 1000‎‎)‎ $‎ اندازه هر قسمت به ‎$ ‎KB‎ $‎ است و سومی نیز ‎$ L‎ ‎(1 ‎\leq ‎L‎ ‎\leq ‎10^{‎6‎}‎‎‎)‎ $‎ حجم باقی‌مانده از اینترنت شما به $ ‎KB‎ $ است.
  • خط دوم سناریوها ‎$ ‎N‎ $‎ عدد صحیح مثبت نابیش‌تر از ‎$ ‎100000‎ $‎ داده شده است که ‎$ ‎i‎ $‎ امین عدد اندازه ‎$ ‎i‎ $‎ امین فایل به ‎$ ‎KB‎ $‎ است. ورودی با ‎$ ‎"0 0 0"‎ $‎ خاتمه می‌یابد که نباید پردازش گردد.

خروجی

برای هر سناریو در یک خط بیش‌ترین تعداد فایل‌هایی که می‎توان دانلود کرد را چاپ نمایید.

محدودیت‌ها

  • محدودیت زمان: ۱۰ ثانیه
  • محدودیت حافظه: ۲۵۶ مگابایت

ورودی و خروجی نمونه

ورودی نمونه خروجی نمونه
3 3 13
5 5 7
7 2 16
6 11 3 3 8 1 8
0 0 0
2
4

ابزار صفحه