Nguoi Buon Lau 3

You might also like

Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 2

Buôn lậu

Tên chuơng trình: SMUGGLER.*


Byteotia là quốc gia giàu có nhờ vàng. Vì vậy, trong rất nhiều năm người dân của nước
này bán vàng qua nước láng giềng là Bitland. Thật không may mắn, gần đây Bitland bị thâm
hụt ngân sách. Vì vậy, Nhà vua của Bitland quyết định đánh thuế rất nặng (50%) vào vàng và
các khoáng sản khác mua từ nước Byteotia.
Các nhà hoá học nước Byteotia vừa nghiên cứu ra các cách chuyển vàng thành một số
kim loại khác và để chuyển được thì phải mất một lượng phí nhất định cho 1 kg trọng lượng.
Do đó các thương gia đưa ra ý tưởng chuyển vàng thành một kim loại khác có giá trị nhỏ hơn
(để giảm thuế) rồi chuyển qua biên giới, sau khi tới Bitland thì chuyển ngược lại từ kim loại
thành vàng để thu được lợi nhuận cao nhất.
Yêu cầu: Bạn hãy viết chương trình giúp các thương gia Byteotia quyết định chuyển vàng qua
biên giới (thuế là 50% giá trị 1 kg vàng) hay đưa ra một trình tự đổi từ vàng thành các kim
loại và từ kim loại thành vàng với số tiền phải trả cộng thêm 50% giá trị kim loại có giá trị nhỏ
nhất trong dãy biến đổi là nhỏ nhất có thể.
Dữ liệu: tệp văn bản SMUGGLER.INP
N (số kim loại khác nhau, 1<=n<=5000)
P1
… 0<=Pi<=109 , Pi nguyên, là giá 1kg kim loại thứ i
Pn
M (0<=M<=100 000, M nguyên dương là số cách đổi khác nhau)
A1 b1 c1
……………..
Am bm cm
(Ai bi ci nguyên dương, thể hiện kim lại thứ a i đổi lấy kim loại thứ bi với chi phí ci,
1<=ai, bi<=n, 0<=ci<=10 000, mỗi cặp ai bi xuất hiện nhiều nhất 1 lần trong file input)
Quy ước: Vàng là kim loại số 1

Kết quả: tệp văn bản SMUGGLER.OUT


Ghi 1 số duy nhất là giá tiền ít nhất các thương gia Byteotia phải trả.
(Với 1 chữ số ở phần thập phân)
Ví dụ:
SMUGGLER.INP SMUGGLER.OUT
4 60.0
200
100
40
2
6
1 2 10
1 3 5
2 1 25
3 2 10
3 4 5
4 1 50
Chú thích: Trong ví dụ trên ta đổi như sau: 1321
Phí chuyển đổi: 5+10+25=40
Thuế: 50% min(200,100,40)=20
Tổng số tiền các thương gia phải trả: 40+20=60

You might also like