Một cửa hàng có 2 kênh bán hàng: online và tại cửa hàng.
Order:
id (String), subtotal (double) — tổng tiền hàng trước phí/giảm.double finalTotal().String describe() trả về id + "|" + subtotal (2 chữ số TP).OnlineOrder extends Order:
shippingFee (double).finalTotal = subtotal + shippingFee.subtotal >= 500000 thì miễn phí ship (shippingFee không cộng vào).StoreOrder extends Order:
discount (double, 0-1) — tỉ lệ giảm giá khi mua trực tiếp.finalTotal = subtotal * (1 - discount).ON <id> <subtotal> <shippingFee>ST <id> <subtotal> <discount>TOTAL <id> → in <id> <finalTotal> (2 chữ số TP).DESC <id> → in <id> <describe> (chính là id + "|" + subtotal, ví dụ ABC|100.00).GRAND <tổng finalTotal của tất cả đơn> (2 chữ số TP).GRAND <tổng> (2 chữ số thập phân)Ví dụ:
Đầu vào:
3
ON A 300000 30000
ON B 600000 30000
ST C 1000000 0.1
3
TOTAL A
TOTAL B
TOTAL C
Đầu ra:
A 330000.00
B 600000.00
C 900000.00
GRAND 1830000.00
Giải thích:
Đầu vào:
2
ON X 500000 50000
ST Y 200000 0
2
DESC X
TOTAL Y
Đầu ra:
X X|500000.00
Y 200000.00
GRAND 700000.00
Giải thích:
Đầu vào:
4
ON o1 100000 20000
ON o2 100000 30000
ST s1 100000 0.5
ST s2 200000 0.25
4
TOTAL o1
TOTAL o2
TOTAL s1
TOTAL s2
Đầu ra:
o1 120000.00
o2 130000.00
s1 50000.00
s2 150000.00
GRAND 450000.00
Đầu vào:
1
ST Z 1000000 1
2
TOTAL Z
DESC Z
Đầu ra:
Z 0.00
Z Z|1000000.00
GRAND 0.00
Giải thích:
Đầu vào:
3
ON A 0 100000
ST B 0 0.5
ON C 499999 1
3
TOTAL A
TOTAL B
TOTAL C
Đầu ra:
A 100000.00
B 0.00
C 500000.00
GRAND 600000.00
Giải thích:
Đầu vào:
2
ON O 1000000 99999
ST S 1000000 0
0
Đầu ra:
GRAND 2000000.00
Giải thích:
Đang tải editor...