سلام دوست عزیز😃👋

به «مسابقه استخدامی به‌پرداخت ملت» خوش آمدی!

هرگونه ارتباط با سایر شرکت‌کنندگان و یا استفاده از ابزارهای تولید کد، مثل chatGPT و... در مسابقات کوئرا ممنوع است و بعد از شناسایی از لیست شرکت‌کنندگان مسابقه حذف می‌شوید.

لینک‌های مفید برای شرکت در مسابقه:

سوالات و مشکلات خودتان را می‌توانید از طریق قسمت «سوال بپرسید» با ما در میان بگذارید.

  • چهار سوال اول مسابقه الگوریتمی است و سوال پنجم مهارت شما را در پیاده‌سازی می‌سنجد.
  • در سوالات الگوریتمی تنها در صورتی نمره‌ی آن را می‌گیرید که همه‌ی تست‌ها را بدون خطا پاسخ دهید و در غیر این‌صورت هیچ نمره‌ای از آن دریافت نمی‌کنید.
  • حل همه‌ی سوالات با زبان برنامه‌نویسی C++ یا Java برای استخدام در به‌پرداخت الزامی است.
  • پیشنهاد می‌کنیم برای افزایش سرعت برنامه‌ها، اگر با زبان پایتون سوالات را حل می‌کنید از Pypy 3 به‌جای Python 3.12 استفاده کنید.

موفق باشید و بهتون خوش بگذره 😉✌

لیست سوالات را می‌توانید از نوار سمت راست این صفحه مشاهده کنید.

تراکنش‌های بهینه


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

در شهر شکرستان nn بانک وجود دارد. هر روز تعدادی تراکنش مالی میان بانک‌ها باید اتفاق بیافتد. گلابی که رئیس بانک مرکزی شکرستان است متوجه شده که مجموع تراکنش‌های بین بانک‌ها امکان دارد خیلی زیاد باشد برای همین دنبال کم کردن مجموع مبلغ آن‌ها است.

او تراکنش‌های مالی میان بانک‌ها در هر روز را می‌بیند و سعی می‌کند با کمترین مجموع مبلغ تراکنش، تراکنش مالی میان بانک‌ها را انجام بدهد.

به او کمک کنید که این کار را انجام دهد طوری که شرایط بالا رعایت شود. توجه کنید نیازی نیست تعداد تراکنش‌ها کمینه شود بلکه باید مجموع مبلغ کل تراکنش‌ها کمینه باشد.

ورودی🔗

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

1n10001 \leq n \leq 1000 0m1050 \le m \le 10^5

در mm خط بعد در هر خط به ترتیب سه عدد uu و vv و ww داده می‌شود که نشان دهنده‌ی این است که در این تراکنش ww همت (هزار میلیارد تومان) از بانک uu به بانک vv باید انتقال داده شود.

1u,vn,uv1 \leq u, v \leq n, \quad u \neq v 1w109 1 \le w \le 10^9

خروجی🔗

در خط اول ورودی عدد kk که تعداد تراکنش برای انجام تراکنش‌های مالی میان بانک‌ها است را خروجی دهید.

0k1050 \leq k \leq 10^5

سپس در هرکدام از kk خط بعدی به ترتیب سه عدد uu و vv و ww را خروجی دهید. که نشان‌ دهنده‌ی این هستند که در این تراکنش ww همت (هزار میلیارد تومان) از بانک uu به بانک vv انتقال داده می‌شود.

1u,vn,uv1 \leq u, v \leq n, \quad u \neq v 1w10141 \leq w \leq 10^{14}

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

مثال‌ها🔗

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

5 7
1 2 10
1 3 4
2 3 9
3 2 8
3 5 9
4 3 2
2 5 4
Plain text

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

4
1 2 5
1 5 9
3 5 2
4 5 2
Plain text

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

3 3
1 2 10
2 3 10
3 1 10
Plain text

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

0
Plain text

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

3 2
1 2 10
2 3 7
Plain text

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

2
1 2 3
1 3 7
Plain text
ارسال پاسخ برای این سؤال
در حال حاضر شما دسترسی ندارید.