{"code":"nc2_dijkstra_08","name":"K-Free","description":"Có $n$ thành phố và $m$ con đường hai chiều. Cần vận chuyển các mặt hàng thiết yếu từ thành phố $1$ tới tất cả các thành phố khác (việc vận chuyển tới các thành phố khác luôn thực hiện được).\r\n\r\nMỗi con đường đều có thu phí. May mắn thay, bạn có $k$ thẻ ưu đãi, nghĩa là khi đi từ thành phố $1$ tới **bất kỳ** thành phố nào khác, bạn có thể chọn **tối đa $k$ con đường** và **không bị tính phí** khi đi qua các con đường đó.\r\n\r\nHãy xác định **chi phí tối thiểu** để chuyển hàng tới **mỗi** thành phố. Lưu ý có thể xem việc vận chuyển từ thành phố $1$ tới các thành phố khác là **độc lập** nhau.\r\n\r\n#### Input\r\n- Dòng đầu tiên chứa ba số nguyên $n, m, k$ $(1 \\leq n \\leq 10^{5},\\ 1 \\leq m \\leq 5 \\times 10^{5},\\ 1 \\leq k \\leq 18)$.\r\n- $m$ dòng tiếp theo, mỗi dòng chứa $3$ số nguyên $u, v, w$ $(1 \\leq u, v \\leq n,\\ 1 \\leq w \\leq 10^{6})$ mô tả một con đường hai chiều nối $u, v$ với chi phí $w$.\r\n\r\n#### Output\r\n- In $n$ số nguyên, số thứ $i$ là **chi phí tối thiểu** để vận chuyển tới thành phố $i$.\r\n\r\n#### Example\r\n\r\n!!! question \"Test\"\r\n    ???+ Input\r\n        ```sample\r\n        5 6 1\r\n        1 2 2\r\n        1 3 6\r\n        2 4 6\r\n        2 5 8\r\n        3 5 4\r\n        4 5 1\r\n        ```\r\n    ??? success \"Output\"\r\n        ```sample\r\n        0 0 0 2 2\r\n        ```","points":100.0,"partial":true,"time_limit":2.0,"memory_limit":262144,"short_circuit":false,"allowed_languages":[3,4,34,36,37,5,6,11,12,14,28,2,38,39,9,18,17,29,23,27,35,25,26,10,7,19,32,1,8,15,16,24,20,33,13,41,21,40],"is_public":true,"is_manually_managed":false,"permissions":{"can_edit":false}}