ستارگان دودویی گلرنگ


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

ستاره‌های گلرنگ رشته‌های 0 و 1 را به روش خاص خودشان می‌سازند و نمایش می‌دهند.

نمایش 0 به صورت زیر است:

***
*.*
***
Plain text

نمایش 1 به صورت زیر است:

.*.
.*.
.*.
Plain text

حالا، یک رشته از اعداد 0 و 1 به شما داده می‌شود و می‌خواهیم نمایش آن را به صورت پشت سر هم به شیوه ستارگان گلرنگ ارائه دهیم.

از شما می‌خواهیم برای اینکه جزو ستارگان آینده گلرنگ باشید، این چالش را حل کنید.

ورودی🔗

در سطر اول ورودی، عدد صحیح و مثبت nn داده می‌شود که تعداد کاراکترهای رشته را نشان می‌دهد.
1n1001 \leq n \leq 100

در سطر دوم، یک رشته از 0 و 1 به طول nn داده می‌شود.

خروجی🔗

در سه سطر، رشته داده شده را به روش ستارگان گلرنگ نمایش دهید.

مثال‌ها🔗

ورودی نمونه ۱🔗

4
0101
Plain text

خروجی نمونه ۱🔗

***.*.***.*.
*.*.*.*.*.*.
***.*.***.*.
Plain text

ورودی نمونه ۲🔗

5
10011
Plain text

خروجی نمونه ۲🔗

.*.******.*..*.
.*.*.**.*.*..*.
.*.******.*..*.
Plain text

شامپو گلرنگ


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

گلابی کوچولو در حمام نشسته و با تیله‌های ته شامپوهای تیله‌ای گلرنگ بازی می‌کند. در لحظات مختلف، گلی کوچولو وارد حمام می‌شود و به گلابی کوچولو یک شامپو می‌دهد که مدت زمان مصرف آن xix_i دقیقه است و در دقیقه‌ی tit_i تحویل داده می‌شود.

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

در این مسئله، به شما زمان‌های tit_i و مدت زمان مصرف‌های xix_i به ترتیب داده می‌شود. از شما خواسته شده است که برنامه‌ای بنویسید که در هر لحظه مشخص کند گلابی در حال مصرف کدام شامپو است، اگر او از روشی که گفته شد برای انتخاب شامپوها استفاده کند.

ورودی🔗

در خط اول ورودی، عدد صحیح و مثبت nn داده می‌شود که تعداد شامپوها را نشان می‌دهد. 1n1001 \leq n \leq 100

در nn خط بعدی، هر خط شامل دو عدد tit_i و xix_i است که به ترتیب زمان تحویل و زمان مصرف شامپوی iiام را نشان می‌دهند. تضمین می‌شود که در تست‌های داده شده شرایط زیر برقرار باشد.

1xi1001 \leq x_i \leq 100

0=t1<t2<<tn1000 = t_1 < t_2 < \dots < t_n \leq 100

خروجی🔗

در هر لحظه که به گلابی کوچولو شامپو داده می‌شود، باید مشخص کنید که از بین شامپوهای در دسترس، کدام یک را در حال مصرف است.

مثال‌ها🔗

ورودی نمونه ۱🔗

2
0 10
4 7
Plain text

خروجی نمونه ۱🔗

1
1
Plain text

در این نمونه، در لحظه ۰ گلابی شامپوی اول را دریافت می‌کند که ۱۰ دقیقه زمان مصرف دارد. از آن‌جایی که گلابی در ابتدا تنها این شامپو را دارد، بلافاصله شروع به استفاده از آن می‌کند. سپس در لحظه ۴ گلابی شامپوی دوم را دریافت می‌کند که زمان مصرف آن ۷ دقیقه است. با اینکه شامپوی دوم تازه وارد شده است، گلابی همچنان در حال استفاده از شامپوی اول است چون ۶ دقیقه تا پایان آن باقی مانده است. بنابراین، در هر دو لحظه، گلابی همچنان در حال مصرف شامپوی شماره ۱ است.

ورودی نمونه ۲🔗

3
0 10
10 20
31 40
Plain text

خروجی نمونه ۲🔗

1
2
3
Plain text

در این نمونه، در لحظه ۰ گلابی شامپوی اول را دریافت می‌کند که ۱۰ دقیقه مصرف دارد و شروع به استفاده از آن می‌کند. در لحظه ۱۰ گلابی شامپوی دوم را دریافت می‌کند که زمان مصرف آن ۲۰ دقیقه است. از آن‌جایی که شامپوی اول تا زمان ۱۰ تمام می‌شود، گلابی از شامپوی دوم استفاده می‌کند. در لحظه ۳۱، گلابی شامپوی سوم را دریافت می‌کند که ۴۰ دقیقه زمان مصرف دارد. از آن‌جایی که شامپوی دوم تا زمان ۳۱ تمام می‌شود، گلابی از شامپوی سوم استفاده می‌کند.

ورودی نمونه ۳🔗

3
0 10
1 9
19 100
Plain text

خروجی نمونه ۳🔗

1
1
3
Plain text

در این نمونه، در لحظه ۰ گلابی شامپوی اول را دریافت می‌کند که ۱۰ دقیقه مصرف دارد و شروع به استفاده از آن می‌کند. در لحظه ۱ گلابی شامپوی دوم را دریافت می‌کند که زمان مصرف آن ۹ دقیقه است. از آن‌جایی که شامپوی اول هم ۹ دقیقه‌ی دیگر تمام می‌شود، گلابی از شامپوی اول استفاده می‌کند. در لحظه ۱۹، گلابی شامپوی سوم را دریافت می‌کند که ۱۰۰ دقیقه زمان مصرف دارد. از آن‌جایی که شامپوی اول و دوم تا زمان ۱۹ تمام می‌شود، گلابی از شامپوی سوم استفاده می‌کند.

ورودی نمونه ۴🔗

3
0 10
1 9
18 100
Plain text

خروجی نمونه ۴🔗

1
1
2
Plain text

در این نمونه، در لحظه ۰ گلابی شامپوی اول را دریافت می‌کند که ۱۰ دقیقه مصرف دارد و شروع به استفاده از آن می‌کند. در لحظه ۱ گلابی شامپوی دوم را دریافت می‌کند که زمان مصرف آن ۹ دقیقه است. از آن‌جایی که شامپوی اول ۹ دقیقه‌ی دیگر تمام می‌شود، گلابی از شامپوی اول استفاده می‌کند. در لحظه ۱۹، گلابی شامپوی سوم را دریافت می‌کند که ۱۰۰ دقیقه زمان مصرف دارد. از آن‌جایی که شامپوی اول و دوم تا زمان ۱۹ تمام می‌شود، در لحظه‌ی ۱۸ گلابی از شامپوی دوم استفاده می‌کند.

شهر گلرنگ


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

در شهر گلرنگ nn خیابان افقی یک‌طرفه شمال به جنوب و mm خیابان عمودی یک‌طرفه غرب به شرق وجود دارد. همانطور که انتظار داریم تمام خیابان‌های عمودی با یکدیگر و تمام خیابان‌های افقی نیز با یکدیگر موازی‌اند و همچنین هر خیابان افقی با تمام خیابان‌های عمودی متقاطع است. تعدادی تپسی داریم که می‌خواهند این خیابان‌ها را از ابتدا تا انتها طی کنند.

در هر تقاطع یک چراغ راهنمایی وجود دارد که در هر لحظه برای یکی از دو خیابان تقاطع سبز و برای دیگری قرمز است. هر کدام از چراغ‌ها یک عدد به نام xx دارند که با شروع از لحظه صفر برای خیابان افقی آن تقاطع به طور متناوب xx ثانیه سبز و سپس xx ثانیه قرمز اند. همچنین هر تقاطع یک عدد yy نیز دارد که نشان می‌دهد در در هر ثانیه در آن تقاطع حداکثر yy تپسی می‌توانند عبور کنند.

توضیح تصویر

در ابتدای هر خیابان تعداد مشخصی تپسی وجود دارند که همزمان با شروع از ثانیه ۰ حرکت کرده و می‌خواهند به انتهای خیابان خودشان برسند. طی کردن طول هر خیابان در شهر گلرنگ انقدر سریع است که می‌توان گفت ۰ ثانیه زمان نیاز دارد. اما در این شهر عبور از تقاطع‌ها زمان نیاز دارد. هر تپسی در صورتی می‌تواند از یک تقاطع عبور کند که چراغ قرمز آن تقاطع برای آن خیابان سبز باشد. دقت کنید در هر تقاطع میزان مشخصی تپسی در هر ثانیه می‌تواند عبور کند، پس ممکن است تپسی‌ها پشت چراغ قرمز تقاطعی منتظر بمانند و چندین بار سبز شدن چراغ را مشاهده کنند تا در نهایت بتوانند از تقاطع عبور کنند.

شهردار شهر گلرنگ از شما می‌خواهد آخرین ثانیه‌ای که یک تپسی به انتهای خیابان خود می‌رسد را بگویید.

ورودی🔗

در سطر اول ورودی دو عدد nn و mm داده می‌شود که به ترتیب نشان‌دهنده تعداد خیابان‌های افقی و عمودی است. سپس در خط دوم nn عدد، تعداد تپسی‌های خیابان‌های افقی و در خط بعدی mm عدد به عنوان تعداد تپسی‌های خیابان‌های عمودی داده می‌شود.

سپس در nn خط بعدی در هر خط 2m2m عدد نشانگر اطلاعات چهارراه‌های خیابان‌های افقی است. در هر خط به ترتیب mm جفت xix_i و yiy_i داده می‌شود که xix_i بیانگر میزان ثانیه سبز برای چراغ ii در این خیابان است و yiy_i برابر حداکثر تعداد تپسی ای است که در یک ثانیه از این چهارراه می‌تواند عبور کند.

1n,m,yi5001 \leq n, m, y_i \leq 5000xi1,000,000,0000 \leq x_i\leq 1,000,000,000 i=0i=nyi+i=0i=myi500\sum_{i = 0}^{i = n} y_i + \sum_{i = 0}^{i = m} y_i \leq 500

خروجی🔗

در تنها سطر خروجی ثانیه‌ای که در پایان آن، آخرین تپسی به مقصد می‌رسد را چاپ کنید.

مثال‌ها🔗

ورودی نمونه ۱🔗

1 1
6
8
7 4
Plain text

خروجی نمونه ۱🔗

8
Plain text

ورودی نمونه ۲🔗

3 2
35 7 4
160 104
4 7 7 1
7 5 7 2
9 7 3 9
Plain text

خروجی نمونه ۲🔗

208
Plain text

سرویس تپسی‌فود


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

دور یک میز گرد nn کارمند از شرکت گلرنگ و mm کارمند از شرکت کوئرا ایستاده‌اند و می‌خواهند دور میز شام بنشینند. سرآشپز می‌خواهد به کارمندان کوئرا کباب کوبیده و به کارمندان گلرنگ جوجه کباب بدهد، بنابراین می‌خواهد همه‌ی کارمندان کوئرا کنار هم و همه‌ی کارمندان گلرنگ کنار هم بنشینند.

مشکل اینجاست که اکنون همه‌ی این n+mn+m نفر نشسته‌اند و حالا باید جای خود را تغییر بدهند. برای تغییر جا با توجه به اینکه مبل‌های راحتی در نظر گرفته شده، می‌توانیم یک کارمند را از دور میز بلند کنیم و در جایی دیگر بین دو کارمند اضافه کنیم. این کار یک واحد انرژی جمع را کم می‌کند.

سوال اینجاست کمترین میزان انرژی که لازم داریم تا همه‌ی کارمندهای گلرنگ و کوئرا کنار هم باشند چقدر است؟

ورودی🔗

در سطر اول ورودی،‌ عدد صحیح و مثبت tt آمده که تعداد تست‌ها را نشان می‌دهد. 1t100,0001 \leq t \leq 100,000

در سطر اول هر تست، دو عدد صحیح و مثبت nn و mm داده می‌شود که تعداد کارمندان گلرنگ و کوئرا را نشان می‌دهد. 1n+m1,000,0001 \leq n+m \leq 1,000,000

در سطر دوم هر تست، یک رشته به طول n+mn + m از کاراکترهای G و Q آمده است که وضعیت نشستن کارمندان را نشان می‌دهد.

تضمین می‌شود که مجموع n+mn + m برای همه‌ی tt تست حداکثر 2,000,0002,000,000 باشد.

خروجی🔗

برای هر تست، در یک خط به ترتیب کمترین میزان انرژی لازم برای درست کردن ترتیب را چاپ کنید.

مثال‌ها🔗

ورودی نمونه ۱🔗

2
2 3
GQGQQ
4 1
GGGQG
Plain text

خروجی نمونه ۱🔗

1
0
Plain text

ورودی نمونه ۲🔗

2
1 0
G
0 1
Q
Plain text

خروجی نمونه ۲🔗

0
0
Plain text

خرید از اکالا


برای این سوال هر چقدر ارسال شما بهینه‌تر باشد، نمره‌ی بیشتری می‌گیرید و لزوماً‌ گرفتن نمره‌ی کامل امکان‌پذیر نیست.
  • محدودیت زمان: ۱ ثانیه
  • محدودیت حافظه: ۲۵۶ مگابایت

روی نقشه شهر گلرنگ nn مرکز خرید وجود دارد، مرکز خریدها با اعداد ۱ تا nn شماره‌گذاری شده‌اند. مرکز شماره‌ی ii در نقطه‌ی (xi,yi)(x_i, y_i) قرار دارد.

گل آقا عاشق کیک دوقولوی تاینی است. این کیک فقط در مراکز اکلا وجود دارد. می‌دانیم مرکز iiام aia_i کیک دارد و از اولین لحظه‌ای که این مقدار تمام شود. tt روز بعد، مجدداً aia_i کیک به این فروشگاه ارسال می‌شود. هیچ کس جز گل آقا از این کیک‌ها نمی‌خرد.

حال گل آقا در نقطه‌ی (0,0)(0, 0) است. سرعت حرکت او 11 است. او اکنون TT ثانیه وقت دارد که در شهر بچرخد و بیشترین تعداد کیک را بخرد. از شما می‌خواهیم برنامه‌ای بنویسید که این بیشترین مقدار را حساب کند.

توجه کنید زمان مراجعه‌ها لزوماً اعداد صحیح نیستند، همچنین باید فاصله‌ی زمان مراجعه کردن به دو فروشگاه قابل رسیدن باشد. فرض می‌شود که زمان خرید کردن ناچیز بوده و به مجض مراجعه همه‌ی کیک‌های موجود خریداری می‌شود.

همچنین می‌توان نزیک یک فروشگاه ایستاد و چندبار از آن خرید کرد اما باید tt ثانیه از خرید قبلی گذشته باشد.

ورودی🔗

در سطر اول ورودی، سه عدد صحیح nn، tt و TT آمده که تعداد فروشگاه‌ها، زمان شارژ شدن کیک و کل زمانی که گل آقا دارد را نشان می‌دهد. 1n,t1001 \leq n, t \leq 100 1T10001 \leq T \leq 1000

در nn سطر بعدی، در هر سطر سه عدد xix_i، yiy_i و aia_i آمده که مختصات و تعداد کیک‌ها را نشان می‌دهد. 1xi,yi,ai1001 \leq x_i, y_i, a_i \leq 100

تضمین می‌شود هیچ دو مرکز اکلا در یک نقطه قرار ندارند.

خروجی🔗

در سطر اول، دو عدد صحیح mm kk چاپ کنید که به ترتیب حداکثر مجموع کیک‌هایی و تعداد فروشگاه‌های مراجعه شده را نشان می‌دهد.

0k10000 \leq k \leq 1000

در kk سطر بعدی، در هر سطر دو عدد did_i و mim_i آمده که زمان مراجعه و شماره‌ی فروشگاه را نشان می‌دهد. 0diT0 \leq d_i \leq T 1min1 \leq m_i \leq n

مثال‌ها🔗

ورودی نمونه ۱🔗

4 6 10
1 1 3
5 1 7
1 5 4
5 5 10
Plain text

خروجی نمونه ۱🔗

20 3
1.414215 1
5.414216 2
9.414217 4
Plain text

ورودی نمونه ۲🔗

4 6 20
1 1 3
5 1 7
1 5 4
5 5 10
Plain text

خروجی نمونه ۲🔗

37 5
1.414215 1
5.414216 2
9.414217 4
13.414218 2
17.414219 4
Plain text