trang chủ / đề bài / dhbb12_train

Vận tải

Đề bài

Mô tả

Ruratania mới bước vào kinh tế thị trường và đang thiết lập những hoạt động kinh doanh mới trong nhiều lĩnh vực, trong đó có giao thông vận tải. Công ty giao thông vận tải TransRuratania đang bắt đầu thành lập một chuyến tàu tốc hành từ thành phố A đến thành phố B với một vài chỗ dừng tại các ga trên tuyến đường. Các ga được đánh số liên tiếp, ga của thành phố A được đánh số 0, ga của thành phố B được đánh số m.

Công ty làm một thí nghiệm để nâng cao khả năng vận chuyển hành khách và từ đó nâng cao thu nhập. Chuyến tàu có thể chứa tối đa n hành khách. Giá của một vé tàu bằng số các ga giữa ga xuất phát và ga đến, không tính ga xuất phát (bằng số hiệu ga đến trừ số hiệu ga xuất phát). Trước khi chuyến tàu bắt đầu hành trình từ thành phố A, các đơn đặt vé từ tất cả các ga trên đường đi được thu lại. Một đơn đặt vé từ ga S bao gồm tất cả các vé đặt trước từ S tới một ga đến xác định trước. Trong trường hợp công ty không thể tiếp nhận tất cả các đơn đặt vé vì khả năng chở khách có giới hạn, thì với mỗi đơn đặt vé công ty hoặc tiếp nhận hoàn toàn, hoặc từ chối hoàn toàn.

Tại mỗi ga, hành khách đến ga đó xuống tàu trước rồi hành khách xuất phát từ ga đó mới lên tàu, nên số hành khách trên tàu chỉ bị giới hạn trên từng đoạn đường giữa hai ga liên tiếp: trên mọi đoạn từ ga j đến ga j+1, tổng số hành khách của các đơn được tiếp nhận có đi qua đoạn đó không được vượt quá n. Tàu chỉ chạy theo chiều từ A đến B, nên đơn đặt vé có ga đến nhỏ hơn ga xuất phát không thể được tiếp nhận.

Yêu cầu: Cho trước danh sách các đơn đặt vé từ các ga trên tuyến đường từ A đến B, hãy xác định thu nhập lớn nhất có thể của công ty TransRuratania. Thu nhập từ một đơn đặt vé được tiếp nhận là tích của số hành khách trong đơn với giá của vé tàu. Thu nhập của công ty là tổng thu nhập từ tất cả các đơn đặt vé được tiếp nhận.

Dữ liệu vào

  • Dòng đầu tiên chứa ba số nguyên n,m,d (1≤n≤5000; 1≤m≤10; 1≤d≤25), lần lượt là sức chứa hành khách của tàu, số hiệu ga của thành phố B và số đơn đặt vé từ tất cả các ga.
  • Mỗi dòng trong d dòng tiếp theo mô tả một đơn đặt vé gồm ba số nguyên: ga xuất phát, ga đến, số hành khách (0≤ ga xuất phát, ga đến ≤m; ga xuất phát ≠ ga đến; 1≤ số hành khách ≤n).

Dữ liệu ra

In ra một số nguyên là thu nhập lớn nhất có thể.

Ràng buộc

  • 1≤n≤5000, 1≤m≤10, 1≤d≤25.
  • 0≤ ga xuất phát, ga đến ≤m; ga xuất phát ≠ ga đến.
  • 1≤ số hành khách của mỗi đơn ≤n.

Ví dụ

Input Output Giải thích
10 3 4
0 2 1
1 3 5
1 2 7
2 3 10
19 Tiếp nhận các đơn 0→2 (1 khách), 1→2 (7 khách) và 2→3 (10 khách): đoạn 1→2 có 8 khách, đoạn 2→3 có 10 khách. Thu nhập 1·2+7·1+10·1=19.
5 2 3
0 2 3
2 0 5
1 2 2
8 Ví dụ bổ sung. Đơn 2→0 đi ngược chiều nên không được tiếp nhận. Hai đơn còn lại cùng đi được: đoạn 1→2 có 3+2=5 khách. Thu nhập 3·2+2·1=8.
3 3 2
0 2 3
2 3 3
9 Ví dụ bổ sung. 3 khách của đơn đầu xuống tàu ở ga 2, nhường chỗ cho 3 khách lên tàu ở ga 2. Thu nhập 3·2+3·1=9.

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.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.402 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.6 gforth 0.7.3 gfortran 15.3.0 go 1.27.3 groovyc 5.1.3 javac 26.0.2.1 node 26.12.1 julia 1.13.2 kotlinc 2.4.21 lean 4.35.0 sbcl 2.2.9 lua 5.5.1 nim 2.2.12 fpc 3.2.2 fpc-themis 3.2.2 perl 5.42.3 php 8.5.12 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.15.1 racket 8.7 ruby 4.0.8 rustc 1.99.1 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.4.1 tclsh 8.6 bun 1.4.4 deno 2.9.8 v 0.5.2 zig 0.17.0