بازه‌ی آزمونی


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

یک سامانه‌ی برگزاری آزمون، از دقیقه‌ی ss تا ff باز می‌شود. مدت زمان پاسخگویی به سؤالات حداکثر ll دقیقه است. شخصی در لحظه‌ی xx وارد سامانه می‌شود.

  • اگر قبل از شروع آزمون (قبل از لحظه‌ی ss) درخواست ورود دارد، پیام exam did not started! را چاپ کنید.
  • اگر بعد از پایان آزمون (در لحظه‌ی ff و یا بعد از آن) درخواست ورود دارد، پیام exam finished! را چاپ کنید.
  • در غیر این صورت مدت زمانی که شخص برای پاسخ‌گویی به سؤالات دارد، را برحسب دقیقه چاپ کنید.

توجه کنید ممکن است سامانه برگزاری آزمون، (قبل از پایان ll دقیقه) بسته شود ولی مدت پاسخگویی شخص باقی مانده باشد.

ورودی🔗

در تنها خط ورودی، چهار عدد طبیعی ss و ff و ll و xx با یک فاصله از هم آمده‌اند.

1s<f1001 \le s < f \le 100 1lmin{20,fs}1 \le l \le \min\{20, f - s\} 1x1001 \le x \le 100

خروجی🔗

در تنها خط خروجی، خواسته‌ی مسئله را چاپ کنید.

مثال🔗

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

20 40 10 36
Plain text

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

4
Plain text

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

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

20 40 10 40
Plain text

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

exam finished!
Plain text

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

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

20 40 10 19
Plain text

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

exam did not started!
Plain text

سامانه‌ی برگزاری آزمون در بازه‌ی زمانی ۲۰ تا ۴۰ باز است. اگر شخصی در لحظه ۱۹ وارد سامانه شود، باید به او اطلاع دهیم که آزمون هنوز شروع نشده است.

نیو فولدر


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

شما روی دسکتاپ (desktop) کامپیوتر هستید و هیچ چیزی روی دسکتاپ نیست. از شما می‌خواهیم دو نوع اتفاق را هندل کنید.

  • یک پوشه به نام namename که به شما به صورت یک رشته داده می‌شود بسازید.
  • اسم همه پوشه‌ها را به صورت مرتب (با در نظر گرفتن ترتیب لغت‌نامه‌ای رشته‌ها) چاپ کنید.

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

ورودی🔗

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

1n1000 1 \le n \le 1000 1namei50 1 \le |{name}_i| \le 50

خروجی🔗

به ازای هر فولدری که ایجاد می‌کنید در یک خط لیست همه‌ی فولدر‌های فعلی(همراه با فولدر ایجاد شده) را به صورت مرتب چاپ کنید. نام هر فولدر را درون دو تک کوتیشن و این نام‌ها را با یک کاما و فاصله از هم جدا کنید.

مثال🔗

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

4
New Folder
Contest
Contest
Contest
Plain text

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

'New Folder'
'Contest', 'New Folder'
'Contest', 'Contest (1)', 'New Folder'
'Contest', 'Contest (1)', 'Contest (2)', 'New Folder'
Plain text

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

3
Contest
Contest
Contest (1)
Plain text

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

'Contest'
'Contest', 'Contest (1)'
'Contest', 'Contest (1)', 'Contest (1) (1)'
Plain text

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

11
A
A
A
A
A
A
A
A
A
A
A
Plain text

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

'A'
'A', 'A (1)'
'A', 'A (1)', 'A (2)'
'A', 'A (1)', 'A (2)', 'A (3)'
'A', 'A (1)', 'A (2)', 'A (3)', 'A (4)'
'A', 'A (1)', 'A (2)', 'A (3)', 'A (4)', 'A (5)'
'A', 'A (1)', 'A (2)', 'A (3)', 'A (4)', 'A (5)', 'A (6)'
'A', 'A (1)', 'A (2)', 'A (3)', 'A (4)', 'A (5)', 'A (6)', 'A (7)'
'A', 'A (1)', 'A (2)', 'A (3)', 'A (4)', 'A (5)', 'A (6)', 'A (7)', 'A (8)'
'A', 'A (1)', 'A (2)', 'A (3)', 'A (4)', 'A (5)', 'A (6)', 'A (7)', 'A (8)', 'A (9)'
'A', 'A (1)', 'A (10)', 'A (2)', 'A (3)', 'A (4)', 'A (5)', 'A (6)', 'A (7)', 'A (8)', 'A (9)'
Plain text

QSay


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

عبدالله اخیراً یک شخصیت کارتونی در قالب ASCII تحت عنوان QQ برای کوئرا طراحی کرده که به‌شکل زیر است:

 _____________
/             \
|  O       O  |
|      |      |
|      |      |
|             |
|    \____/  \|
\_____________\
               \
Plain text

او از شما می‌خواهد با به‌کارگیری این شخصیت کارتونی، برنامه‌ای تحت عنوان qsay بنویسید تا با cowsay رقابت کند. این برنامه قرار است یک متن از ورودی دریافت کند و متن را برای مثال به‌شکل زیر چاپ کند:

 ____________________
/ Quera College      \
| Linux A-Z course   |
\ has been released! /
 --------------------
        \
         \
           _____________
          /             \
          |  O       O  |
          |      |      |
          |      |      |
          |             |
          |    \____/  \|
          \_____________\
                         \
Plain text

علاوه بر متن ورودی، این برنامه یک عدد صحیح دریافت می‌کند که بیانگر حداکثر طول یک خط در متن خروجی برنامه است. کلمات ممکن است شامل whitespace های متعددی (از جمله space ، tab یا newline) باشد، اما در خروجی برنامه، کلمات باید تنها با یک space از یکدیگر جدا شوند. همچنین کلمات باید به‌گونه‌ای در کنار یکدیگر قرار گیرند که حداکثر طول یک خط برابر با حداکثر طول مشخص‌شده در ورودی برنامه باشد.

خروجی در حالت تک‌خطی باید به‌ترتیب در قالب خطوط زیر چاپ شود:

  • یک space و سپس «اندازه‌ی طولانی‌ترین خط بعلاوه‌ی ۲» بار کاراکتر _
  • کاراکتر <، سپس یک space ، سپس متن خروجی، سپس «اندازه‌ی طولانی‌ترین خط در متن خروجی منهای طول خط فعلی بعلاوه‌ی ۱» تا space و در نهایت، کاراکتر >
  • یک space و سپس «اندازه‌ی طولانی‌ترین خط بعلاوه‌ی ۲» بار کاراکتر -
  • شخصیت کارتونی همراه با خطوط متصل‌کننده‌ی شخصیت کارتونی به متن

خروجی در حالت چندخطی باید به‌ترتیب در قالب خطوط زیر چاپ شود:

  • یک space و سپس «اندازه‌ی طولانی‌ترین خط بعلاوه‌ی ۲» بار کاراکتر _
  • کاراکتر /، سپس یک space ، سپس اولین خط متن خروجی، سپس سپس «اندازه‌ی طولانی‌ترین خط در متن خروجی منهای طول خط فعلی بعلاوه‌ی ۱» تا space و در نهایت، کاراکتر \
  • از خط دوم تا خط یکی مانده به آخر، در هر خط ابتدا کاراکتر |، سپس یک space ، سپس اولین خط متن خروجی، سپس «اندازه‌ی طولانی‌ترین خط در متن خروجی منهای طول خط فعلی بعلاوه‌ی ۱» تا space و در نهایت، کاراکتر |
  • کاراکتر \، سپس یک space ، سپس آخرین خط متن خروجی، سپس «اندازه‌ی طولانی‌ترین خط در متن خروجی منهای طول خط فعلی بعلاوه‌ی ۱» تا space و در نهایت، کاراکتر /
  • یک space و سپس «اندازه‌ی طولانی‌ترین خط بعلاوه‌ی ۲» بار کاراکتر -
  • شخصیت کارتونی همراه با خطوط متصل‌کننده‌ی شخصیت کارتونی به متن

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

بخش مربوط به شخصیت کارتونی همراه با خطوط متصل‌کننده‌ی شخصیت کارتونی به متن به‌صورت زیر است (به space های ابتدای خطوط توجه داشته باشید):

        \
         \
           _____________
          /             \
          |  O       O  |
          |      |      |
          |      |      |
          |             |
          |    \____/  \|
          \_____________\
                         \
Plain text

ورودی🔗

در خط اول ورودی، ابتدا عدد صحیح nn وارد می‌شود که بیانگر حداکثر طول هر خط در متن خروجی است.

1n1051 \leq n \leq 10^5

در خطوط بعدی (که تعدادشان نامشخص است)، کلمات متن وارد می‌شوند. هر کلمه لزوماً در یک خط وارد نمی‌شود. مجموع طول کلمات حداکثر 10510^5 کاراکتر است.

خروجی🔗

در خروجی، متن نهایی را مطابق توضیحات داده‌شده چاپ کنید.

مثال🔗

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

13
Hello, World!
Plain text

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

 _______________
< Hello, World! >
 ---------------
        \
         \
           _____________
          /             \
          |  O       O  |
          |      |      |
          |      |      |
          |             |
          |    \____/  \|
          \_____________\
                         \
Plain text

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

13
Hello, World!
Hi!
Plain text

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

 _______________
/ Hello, World! \
\ Hi!           /
 ---------------
        \
         \
           _____________
          /             \
          |  O       O  |
          |      |      |
          |      |      |
          |             |
          |    \____/  \|
          \_____________\
                         \
Plain text

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

20
The quick brown fox jumps over the lazy dog.
Plain text

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

 _____________________
/ The quick brown fox \
| jumps over the lazy |
\ dog.                /
 ---------------------
        \
         \
           _____________
          /             \
          |  O       O  |
          |      |      |
          |      |      |
          |             |
          |    \____/  \|
          \_____________\
                         \
Plain text

تاس‌اندازی


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

یک تاس در یک وضعیت استاندارد داریم. یعنی در ابتدا عدد ۵ روی تاس است و جمع وجه‌های روبه‌روی هم برابر ۷ است.

تاس

این تاس در هر مرحله، یکی از ۶ حرکت زیر را انجام می‌دهد.

  • حرکت a. نسبت به محور xxها به صورت ساعتگرد ۹۰‌ درجه می‌چرخد.
  • حرکت b. نسبت به محور xxها به صورت پادساعتگرد ۹۰ درجه می‌چرخد.
  • حرکت c. نسبت به محور yyها به صورت ساعتگرد ۹۰‌ درجه می‌چرخد.
  • حرکت d. نسبت به محور yyها به صورت پادساعتگرد ۹۰ درجه می‌چرخد.
  • حرکت e. نسبت به محور zzها به صورت ساعتگرد ۹۰‌ درجه می‌چرخد.
  • حرکت f. نسبت به محور zzها به صورت پادساعتگرد ۹۰ درجه می‌چرخد.

ورودی🔗

در تنها خط ورودی یک رشته شامل nn کاراکتر که هر کدام یکی از حروف a تا f می‌باشد آمده است و دنباله‌ی حرکت‌هایی که روی تاس انجام شده را نشان می‌دهد.

1n1000 1 \le n \le 1000

خروجی🔗

در یک خط عدد وجهی از تاس که مقابل به ماست را پس از اعمال دنباله‌ی حرکات چاپ کنید.

مثال🔗

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

a
Plain text

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

1
Plain text

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

abc
Plain text

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

4
Plain text

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

abcde
Plain text

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

5
Plain text

کتاب‌خوان کالجی


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

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

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

طبق توضیحات فوق، دستورات زیر باید در برنامه پیاده‌سازی شوند:

افزودن فصل جدید🔗

add_chapter book_name chapter_name required_percent
Plain text

این دستور، فصلی با نام chapter_name را به کتابی با نام book_name با درصد موردنیاز required_percent اضافه می‌کند. در صورتی که فصلی با این نام در این کتاب موجود بود، درصد موردنیاز آن را به‌روزرسانی کنید.

تضمین می‌شود که نام کتاب و نام فصل شامل whitespace نیستند.

افزودن فصل پیش‌نیاز🔗

add_prerequisite_chapter book_name chapter_name prerequisite_chapter_name
Plain text

این دستور، فصلی با نام prerequisite_chapter_name را به پیش‌نیازهای فصل chapter_name از کتاب book_name اضافه می‌کند. اگر حداقل یکی از شروط زیر برقرار باشد، هیچ اتفاقی نباید بیفتد:

  • کتابی با نام book_name موجود نباشد
  • فصلی با نام chapter_name یا prerequisite_chapter_name در کتاب book_name موجود نباشد
  • فصل chapter_name از قبل پیش‌نیاز مستقیم یا غیرمستقیم فصل prerequisite_chapter_name باشد

حذف فصل پیش‌نیاز🔗

remove_prerequisite_chapter book_name chapter_name prerequisite_chapter_name
Plain text

این دستور، فصلی با نام prerequisite_chapter_name را در صورتی از پیش‌نیاز‌های فصلی با نام chapter_name از کتاب book_name حذف می‌کند که پیش‌نیاز مستقیمش باشد. اگر حداقل یکی از شروط زیر برقرار باشد، هیچ اتفاقی نباید بیفتد:

  • کتابی با نام book_name وجود نداشته باشد
  • فصلی با نام chapter_name یا prerequisite_chapter_name در کتاب book_name موجود نباشد

مطالعه‌ی یک فصل🔗

read book_name chapter_name percent
Plain text

دستور فوق، مشخص می‌کند که percent درصد از فصلی با نام chapter_name از کتابی با نام book_name مطالعه شده است. تضمین می‌شود که مقدار percent یک عدد صحیح عضو بازه‌ی [1,100][1,100] است. اگر فصل موردنظر قبلاً به اندازه‌ی بیشتری مطالعه شده بود، نباید تغییری صورت گیرد. اگر حداقل یکی از شروط زیر برقرار باشد، هیچ اتفاقی نباید بیفتد:

  • کتابی با نام book_name وجود نداشته باشد
  • فصلی با نام chapter_name در کتاب book_name موجود نباشد
  • فصل‌های پیش‌نیاز فصل chapter_name (در صورت وجود) تکمیل نشده باشند

دریافت وضعیت مطالعه‌ی یک کتاب🔗

stats book_name
Plain text

این دستور، تعداد فصل‌های مطالعه‌شده و تعداد کل فصل‌های یک کتاب را با فرمت زیر چاپ می‌کند:

completed_chapters_count of all_chapters_count
Plain text

اگر کتابی با نام book_name موجود نبود، هیچ اتفاقی نباید بیفتد.

خروج از برنامه🔗

end
Plain text

با اجرای این دستور، اجرای برنامه خاتمه می‌یابد.

ورودی🔗

ورودی شامل چندین خط است که در هر خط یکی از دستوراتی که گفته شد، وارد می‌شود.

همچنین در خط آخر ورودی، دستور end وارد می‌شود.

تعداد دستورات ورودی حداکثر ۲۰۰۰ تا است.

خروجی🔗

پس از اجرای دستورات، خروجی دستورات stats را چاپ کنید. خروجی هر دستور را در یک خط مجزا چاپ کنید.

مثال🔗

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

add_chapter CLRS Introduction 90
stats CLRS
read CLRS Introduction 90
stats CLRS
end
Plain text

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

0 of 1
1 of 1
Plain text

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

add_chapter DesignPatterns Intro 100
read NotAvailable Intro 100
read DesignPatterns NotAvailable 100
stats DesignPatterns
add_chapter DesignPatterns CreationalDesignPatterns 80
add_prerequisite_chapter DesignPatterns CreationalDesignPatterns Intro
read DesignPatterns CreationalDesignPatterns 85
stats DesignPatterns
read DesignPatterns Intro 99
stats DesignPatterns
read DesignPatterns Intro 100
stats DesignPatterns
read DesignPatterns CreationalDesignPatterns 85
stats DesignPatterns
end
Plain text

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

0 of 1
0 of 2
0 of 2
1 of 2
2 of 2
Plain text

جدول امتیازات


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

امین و دوستانش چند سال است که مسابقات برنامه‌نویسی مختلفی به‌صورت خصوصی برگزار می‌کنند. آن‌ها در مسابقات خود، امتیازات شرکت‌کنندگان را روی کاغذ محاسبه می‌کنند و جدول امتیازات را نیز به‌صورت دستی رسم می‌کنند! امین که به‌تازگی با مسابقات کوئرا آشنا شده است، دریافته که جدول امتیازات مسابقات در کوئرا مشابه جدول امتیازاتی است که به‌صورت دستی رسم می‌کنند. او از شما می‌خواهد برنامه‌ای بنویسید که محاسبات مربوط به جدول امتیازات مسابقات را انجام دهد.

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

نحوه‌ی رتبه‌بندی شرکت‌کنندگان در جدول امتیازات به‌صورت زیر است:

  • فردی که مجموع امتیازات ارسال‌های نهایی‌اش بیشتر باشد، در رتبه‌ی بالاتری قرار می‌گیرد.
  • اگر مجموع امتیازات ارسال‌های نهایی دو نفر یکسان باشد، فردی که مجموع زمان‌های ارسال‌های نهایی غیر صفرش (ارسال‌های نهایی‌ای که امتیازشان صفر نیست) کمتر باشد در رتبه‌ی بالاتری قرار می‌گیرد.
  • اگر مجموع امتیازات و مجموع زمان‌های ارسال‌های نهایی غیر صفر دو نفر یکسان باشد، فردی که شناسه‌ی عددی کاربری‌اش کوچک‌تر باشد در رتبه‌ی بالاتری قرار می‌گیرد.

عدد رتبه‌ی افراد برخلاف جایگاه در جدول امتیازات، صرفاً براساس مجموع امتیازات ارسال‌های نهایی مشخص می‌شود. برای مثال، اگر پنج نفر امتیاز ۱۰۰۰ را کسب کرده باشند و یک نفر امتیاز ۹۰۰، عدد رتبه‌ی پنج نفر اول برابر با ۱ و عدد رتبه‌ی نفر ششم برابر با ۶ خواهد بود.

طبق توضیحات فوق، دستورات زیر باید در برنامه پیاده‌سازی شوند:

افزودن سؤال به مسابقه🔗

add_problem contest_id problem_id
Plain text

این دستور، سؤالی با شناسه‌ی problem_id را به مسابقه‌ای با شناسه‌ی contest_id اضافه می‌کند. در صورتی که این سؤال از قبل در مسابقه‌ی دیگری وجود داشت، سؤال نباید به مسابقه اضافه شود.

ثبت اطلاعات کد ارسالی برای سؤال🔗

add_submission submission_id user_id problem_id time score
Plain text

این دستور، یک کد ارسالی جدید با شناسه‌ی submission_id را برای سؤالی با شناسه‌ی problem_id که توسط کاربری با شناسه‌ی user_id در time ثانیه پس از شروع مسابقه ارسال شده و امتیاز score را کسب کرده است اضافه می‌کند. تضمین می‌شود که کد ارسالی‌ای با شناسه‌ی submission_id از قبل وجود ندارد. اگر سؤالی با شناسه‌ی problem_id از قبل به مسابقه‌ای اضافه نشده بود، نباید هیچ اتفاقی بیفتد.

توجه: اطلاعات کدهای ارسالی لزوماً به‌ترتیب صعودی برحسب زمان ارسال اضافه نمی‌شوند.

تغییر ارسال نهایی🔗

change_final_submission user_id problem_id submission_id
Plain text

این دستور، ارسال نهایی سؤالی با شناسه‌ی problem_id برای کاربری با شناسه‌ی user_id را به کد ارسالی‌ای با شناسه‌ی submission_id تغییر می‌دهد. اگر حداقل یکی از شرایط زیر برقرار بود، هیچ افتقای نباید بیفتد:

  • کد ارسالی‌ای با شناسه‌ی submission_id موجود نباشد
  • کد ارسالی توسط کاربری با شناسه‌ی user_id ارسال نشده باشد
  • کد ارسالی متعلق به سؤالی با شناسه‌ی problem_id نباشد

نمایش جدول امتیازات🔗

get_scoreboard contest_id
Plain text

این دستور، جدول امتیازات مسابقه‌ای با شناسه‌ی contest_id را نمایش می‌دهد. افراد باید به‌ترتیب نزولی جایگاه نمایش داده شوند. به ازای هر نفر، یک خط به‌صورت زیر باید چاپ شود:

place_no user_id score_sum time_sum
Plain text

در خط فوق:

  • place_no عدد رتبه‌ی شرکت‌کننده است.
  • user_id شناسه‌ی فرد است.
  • score_sum مجموع امتیاز ارسال‌های نهایی فرد است.
  • time_sum مجموع زمان ارسال‌های نهایی غیر صفر فرد است. اگر فرد ارسال نهایی غیر صفر نداشته باشد، این عدد نباید چاپ شود.

توجه: اگر مسابقه‌ای با شناسه‌ی contest_id موجود نباشد یا هیچ ارسالی برای سؤالات مسابقه صورت نگرفته باشد، نباید چیزی چاپ شود.

خروج از برنامه🔗

end
Plain text

با اجرای این دستور، اجرای برنامه خاتمه می‌یابد.

ورودی🔗

ورودی شامل چندین خط است که در هر خط یکی از دستوراتی که گفته شد، وارد می‌شود.

همچنین در خط آخر ورودی، دستور end وارد می‌شود.

تعداد دستورات ورودی حداکثر ۵۰۰ تا است.

خروجی🔗

پس از اجرای دستورات، خروجی دستورات get_scoreboard را چاپ کنید.

مثال🔗

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

add_problem 1324 12
add_submission 651621 32 12 301 100
get_scoreboard 1324
end
Plain text

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

1 32 100 301
Plain text

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

add_problem 4984 984621
add_submission 6519 3265 984621 658 100
add_submission 98321 78135 984621 1000 100
get_scoreboard 4984
end
Plain text

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

1 3265 100 658
1 78135 100 1000
Plain text

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

add_problem 1 1
add_problem 1 2
add_problem 1 3
add_problem 1 3
add_problem 3 3
add_submission 1 4 1 1500 100
add_submission 1 4 1 658 100
add_submission 3 2 1 1000 100
add_submission 4 2 1 1001 100
add_submission 7 2 3 123 66
change_final_submission 2 1 4
add_submission 1 3 1 1500 100
add_submission 1 3 1 658 100
add_submission 1 10 1 900 0
get_scoreboard 1
end
Plain text

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

1 2 166 1124
2 3 100 658
2 4 100 658
4 10 0
Plain text