.لینکهای مفید برای شرکت در مسابقه:
میتوانید سوالهای خود را از بخش "سوال بپرسید" مطرح کنید.
تیمور که عاشق برق و برنامهنویسی بود، تصمیم گرفت که سیستم کنترل برق یک فروشگاه را به دست بگیرد. مدیر فروشگاه که هنوز به تیمور اطمینان نداشت، به او مسئولیتی سپرد تا او را بسنجد! او به تیمور مسئولیت محاسبهی قیمت برق لامپهای فروشگاه را داد.
فروشگاه دارای لامپ است که از ۱ تا شمارهگذاری شدهاند. لامپهای این فروشگاه شامل دو نوع سنسوری و کلیدی هستند:
علاوه بر ویژگیهای گفته شده، هر لامپ یک مقدار دارد که نشاندهندهی توان آن است. لامپ اُم به ازای هر یک ثانیهای که روشن باشد، واحد انرژی مصرف میکند.
نحوهی محاسبهی هزینهی برق برای لامپها نیز به صورت پلهای است. به طور دقیقتر، قیمت برق دارای پله است و پلهی اُم، دارای دو ویژگی و است که به ترتیب، نشاندهندهی حداکثر میزان انرژیای که در این پله قرار میگیرد و قیمت هر واحد انرژی مربوط به آن پله است.
برای محاسبهی قیمت برق در یک ماه، تیمور ابتدا باید محاسبه کند که کل لامپها در کنار هم، چه مقدار انرژی مصرف کردهاند (این مقدار را در نظر میگیریم). سپس کوچکترین پلهی ای را پیدا میکند که آن، از مقدار مصرفی کل ماه، کمتر نباشد (). پس از آن مقدار هر واحد انرژی در آن ماه را به دست میآورد که برابر با میشود. در نتیجه قیمت کل انرژی مصرفی در آن ماه برابر با خواهد بود.
تیمور که خوب متوجه سیستم محاسبهی قیمت شده بود، زود دست به کار شد و از مدیر فروشگاه، لیست گزارش روشن و خاموش شدن لامپها را گرفت و برای اثبات کردن توانایی خود، تصمیم گرفت که با استفاده از آن، هزینهی برق را برای ماه گذشته محاسبه کند.
فرض میکنیم در ابتدا، همهی لامپها خاموش هستند.
در خط اول ورودی عدد آمده است که نشاندهندهی تعداد لامپها است. در خط اُم از خط بعدی، توضیح لامپ اُم آمده است. قالب توضیح هر لامپ نیز به صورت زیر خواهد بود:
قالب ورودی لامپها به یکی از شکلهای زیر است:
خط اول نشاندهندهی یک لامپ از نوع کلیدی با توان است و خط دوم نیز نشاندهندهی یک لامپ سنسوری با توان و مهلت است.
در خط بعدی، عدد آمده است که نشاندهندهی تعداد پلههای قیمت برق است. در خط اُم از خط بعدی نیز به ترتیب دو مقدار و آمده است که نشاندهندهی حداکثر میزان انرژی پلهی اُم و قیمت هر واحد انرژی در آن پله است.
تضمین میشود مقدار ها و ها به صورت صعودی در ورودی میآیند و همچنین مقدار آخرین حداقل به اندازهی مجموع کل انرژی مصرفی است.
در خط بعدی عدد داده شده است که نشاندهندهی تعداد گزارشها است و در هر یک از خط بعدی نیز یک گزارش آمده است. قالب هر گزارش نیز به صورت زیر خواهد بود:
قالب ورودی هر گزارش به صورت زیر است:
که در آن LAMP_ID
نشاندهندهی شمارهی لامپی است که گزارش به آن تعلق دارد و TIME
هم نشاندهندهی زمانی است که آن تغییر رخ داده است. هر گزارش مربوط به یک لامپ است و در صورتی که لامپ مورد نظر از نوع سنسوری باشد، این گزارش بدان معناست که یک سیگنال برای این سنسور فرستاده شده است و اگر از نوع کلیدی باشد، یعنی وضعیت کلید آن لامپ تغییر کرده است (اگر لامپ روشن باشد، خاموش میشود و برعکس).
قالب TIME
ها نیز تضمین میشود به شکل زیر خواهد بود:
که در آن DD
و hh
و mm
و ss
به ترتیب نشاندهندهی روز و ساعت و دقیقه و ثانیهی رخ دادن آن رخداد است.
در صورتی که لامپی تا لحظهی 31 23:59:59
روشن بود، فرض میکنیم در این لحظه خاموش میشود. همچنین فرض میکنیم ماهی که در آن هستیم ۳۱ روزه است و آخرین لحظهی آن، لحظهی 31 23:59:59
است.
تضمین میشود گزارشها به ترتیب TIME
شان در ورودی میآیند.
خروجی برنامهی شما باید شامل یک خط باشد که مقدار هزینهی برق در آن ماه را نشان میدهد.
زیرمسئله | نمره | محدودیت |
---|---|---|
۱ | ۸۱ | لامپها فقط از نوع کلیدی هستند |
۲ | ۱۳۵ | لامپها فقط از نوع سنسوری هستند |
۳ | ۵۴ | بدون محدودیت اضافی |