trang chủ / bài tập / linraces

Tổ chức giải đua

Đề bài

Mô tả

n đoạn đường nối tiếp nhau, đánh số từ 1 đến n theo thứ tự từ trái sang phải. Đoạn đường thứ i đang hư hỏng và cần chi ai đồng để sửa chữa.

m giải đua xe có thể được tổ chức. Giải đua thứ j sử dụng toàn bộ các đoạn đường từ lbj đến ubj, và nếu được tổ chức thì bạn thu về pj đồng. Một giải đua chỉ có thể diễn ra khi tất cả các đoạn đường mà nó sử dụng đều đã được sửa. Các giải đua diễn ra vào những thời điểm khác nhau nên một đoạn đường có thể phục vụ nhiều giải đua cùng lúc.

Bạn được tự do chọn tập các đoạn đường để sửa (có thể sửa tất cả, hoặc không sửa đoạn nào). Sau khi chọn xong, mọi giải đua có đủ điều kiện đều được tổ chức. Lợi nhuận của bạn bằng tổng tiền thu được từ các giải đua đã tổ chức trừ đi tổng chi phí sửa đường.

Hãy tìm lợi nhuận lớn nhất có thể đạt được. Vì luôn có thể không sửa đoạn đường nào để nhận lợi nhuận 0, đáp án không bao giờ âm.

Dữ liệu vào

  • Dòng đầu chứa hai số nguyên nm: số đoạn đường và số giải đua.
  • n dòng tiếp theo, dòng thứ i chứa một số nguyên ai: chi phí sửa đoạn đường thứ i.
  • m dòng cuối, dòng thứ j chứa ba số nguyên lbj, ubj, pj: giải đua thứ j dùng các đoạn đường từ lbj đến ubj và mang lại pj đồng.

Dữ liệu ra

Một số nguyên duy nhất là lợi nhuận lớn nhất.

Ràng buộc

  • 1n,m2·105
  • 0ai109
  • 1lbjubjn
  • 1pj109

Đáp án có thể vượt quá phạm vi số nguyên 32 bit.

Ví dụ

Input Output Giải thích
7 4
3
2
3
2
1
2
3
1 2 5
2 3 5
3 5 3
7 7 5
4 Sửa các đoạn 1,2,3,7 với chi phí 3+2+3+3=11. Ba giải đua đủ điều kiện là (1,2), (2,3)(7,7), thu về 5+5+5=15. Lợi nhuận 1511=4. Giải đua (3,5) không tổ chức được vì đoạn 45 chưa sửa.
3 1
10
10
10
1 3 10
0 Giải đua duy nhất cần cả ba đoạn, tốn 30 đồng nhưng chỉ thu về 10. Không sửa gì cả là tốt nhất, lợi nhuận 0.
2 1
0
3
1 2 5
2 Đoạn 1 sửa miễn phí, đoạn 2 tốn 3. Bỏ ra 3 đồng để thu về 5, lợi nhuận 2.

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.400 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.2 gforth 0.7.3 gfortran 12.2.0 go 1.27.0 groovyc 5.1.1 javac 25.0.4 node 26.8.1 julia 1.12.7 kotlinc 2.4.10 lean 4.33.1 sbcl 2.2.9 lua 5.4.9 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.10 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.14.7 racket 8.7 ruby 4.0.6 rustc 1.98.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.3.3 tclsh 8.6 bun 1.4.0 deno 2.9.6 v 0.5.2 zig 0.16.0