Tổng động viên

Đề bài

Mô tả

Vương quốc Berland có n thành phố được nối với nhau bởi n1 tuyến đường sắt — mỗi tuyến nối đúng hai thành phố khác nhau. Thủ đô nằm ở thành phố 1, và từ mỗi thành phố đều có thể đi đến thủ đô bằng đường sắt (đồ thị là một cây).

Tại thành phố thứ i đóng quân sư đoàn số i, có chỉ số ưu tiên là ai — giá trị càng nhỏ thì ưu tiên càng cao. Tất cả ai đôi một khác nhau.

Một ngày nọ, nhà vua ra lệnh tổng động viên: tất cả các sư đoàn phải di chuyển về thủ đô. Mỗi ngày, từ mỗi thành phố khác thủ đô khởi hành đúng một chuyến tàu, đi theo hướng giảm khoảng cách đến thủ đô và mất đúng 1 ngày để đến thành phố kề tiếp theo. Chuyến tàu đi qua tuyến đường sắt thứ j có sức chứa tối đa cj sư đoàn.

Khi tàu khởi hành từ một thành phố, trong số các sư đoàn đang có mặt tại thành phố đó, các sư đoàn có ai nhỏ nhất sẽ lên tàu trước, lần lượt đến khi tàu đầy hoặc hết sư đoàn. Những sư đoàn không lên kịp sẽ ở lại và chờ chuyến tàu ngày hôm sau. Mọi sư đoàn bắt đầu di chuyển cùng lúc; thời gian được tính từ ngày 0. Khi đến thủ đô, sư đoàn dừng lại tại đó.

Với mỗi sư đoàn, hãy xác định nó đến thủ đô vào ngày thứ mấy.

Dữ liệu vào

  • Dòng đầu chứa số nguyên n.
  • Dòng thứ hai chứa n số nguyên a1,a2,,an — chỉ số ưu tiên của sư đoàn ở từng thành phố.
  • n1 dòng tiếp theo, mỗi dòng chứa ba số nguyên vj,uj,cj — tuyến đường sắt thứ j nối hai thành phố vjuj với sức chứa tàu cj.

Dữ liệu ra

In ra n số t1,t2,,tn cách nhau bởi dấu cách, trong đó ti là số ngày để sư đoàn ở thành phố i đến được thủ đô.

Ràng buộc

  • 1n5000.
  • 1ai109, mọi ai đôi một khác nhau.
  • 1vj,ujn, vjuj, 1cjn.

Ví dụ

Input Output Giải thích
4
40 10 30 20
1 2 1
2 3 1
4 2 1
0 1 3 2 Sư đoàn 1 đã ở thủ đô. Sư đoàn 2 đi từ thành phố 2 về 1 ở ngày 0, đến nơi ngày 1. Tại thành phố 2 ngày 1, sư đoàn 4 (ưu tiên 20) đến và lên tàu trước sư đoàn 3 (ưu tiên 30), nên sư đoàn 4 đến thủ đô ngày 2, sư đoàn 3 ngày 3.
5
5 4 3 2 1
1 2 1
2 3 1
2 4 1
4 5 1
0 1 4 2 3 Tuyến đường 12 chỉ chở 1 sư đoàn mỗi ngày, nên các sư đoàn bị ùn ở thành phố 2 và đến thủ đô theo thứ tự ưu tiên.

Bình luận

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.46 awk 1.3.4 gcc 16.1.0 csc 6.12.0.200 g++ 16.1.0 g++-themis 16.1.0 g++17 16.1.0 g++20 16.1.0 g++23 16.1.0 clang++ 22.1.6 dmd 2.112.0 dart 3.12.1 gforth 0.7.3 gfortran 12.2.0 go 1.26.3 groovyc 5.0.6 javac 25.0.3 node 26.2.0 kotlinc 2.3.21 sbcl 2.2.9 lua 5.4.8 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.6 pike 8.0 pypy3 7.3.23 python3 3.14.5 racket 8.7 ruby 4.0.5 rustc 1.96.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 tclsh 8.6 bun 1.3.14 deno 2.8.1 v 0.5.1 zig 0.16.0