در یک کشور n شهر وجود دارد. بین این شهرها تعدادی لوله کشیده شده است. هر کدام از این لولهها طولی خاص خود دارند. در این کشور هر کدام از شهرهای s و t دارای منبع بزرگ هستند. در منبع شهر s، x لیتر آب وجود دارد و در منبع شهر t، y لیتر آب. لولهها به نحوی کشیده شدهاند که آب هر منبع میتواند به هر شهری برسد. شهر iام این کشور به fi لیتر آب نیاز دارد (خود شهرهای s و t هم به fs و ft لیتر آب نیاز دارند). در ضمن میدانیم:
n∑i=1fi=x+y
حال میخواهیم آب منابع را در این لولهها طوری بفرستیم که به هر شهر مقدار آبی که نیاز دارد برسد (ممکن است از بعضی از لولهها آب عبور نکند). میدانیم هزینهی گذراندن هر لیتر آب از یک لوله برابر طول آن است.
برنامهای بنویسید که:
در سطر اول ورودی، به ترتیب n، e(تعداد لولهها)، t،x،s و y قرار گرفته است.(2≤n≤5000 و n−1≤e≤400000 )
در سطر دوم، n عدد fn،…،f2،f1 نوشته شده است.(0≤fi105)
در هر یک از e سطر بعد، سه عدد v،u و c نوشته شده که نشاندهندهی لولهای به طول c بین شهرهای u و v است.
اعداد هر سطر با فاصله از هم جدا شدهاند.
طول لولهها حداقل ۱ و حداکثر 105 است و همهی لولههای دنیا دو طرفه هستند!!!
بین هر دو شهر حداکثر یک لوله وجود دارد.
تمام اعداد ورودی صحیح و نامنفی هستند.
در سطر اول خروجی، کمترین هزینه برای فرستادن آب به شهرها را بنویسید.
در سطرهای بعدی لولههایی که از آنها مقدار ناصفری آب میگذرد را بنویسید؛ به این ترتیب که اگر l لیتر آب از شهر u به v میرود شما باید به ترتیب v،u و l را در یک سطر بنویسید. ترتیب نوشتن لولهها اهمیتی ندارد.
ورودی نمونه | خروجی نمونه |
---|---|
4 4 1 2 2 2 1 1 1 1 1 2 1 1 3 1 2 4 1 3 4 1 | 2 1 3 1 2 4 1 |