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

Người soát vé thông minh

Đề bài

Mô tả

Tuyến xe buýt số 62 có đúng n trạm dừng, được đánh số 1,2,,n theo thứ tự chạy. Các trạm nằm trên một đường thẳng với tọa độ 0=x1<x2<<xn. Vé đi từ trạm a đến trạm b (với a<b) có giá xbxa rúp.

Mỗi ngày có đúng m hành khách sử dụng tuyến. Hành khách thứ i lên tại trạm ai và xuống tại trạm bi (ai<bi).

Người soát vé có thể chọn không quá một đoạn liền mạch để không bán vé. Cụ thể, với mỗi hành khách anh ta chọn hai chỉ số C,D với aiCDbi rồi chỉ bán vé cho hai đoạn [ai,C][D,bi]; nếu chọn C=D thì tương đương với bán vé đầy đủ. Số tiền tiết kiệm được là xDxC, và người soát vé chia đôi khoản đó với hành khách (mỗi người nhận (xDxC)/2).

Tuy nhiên, thanh tra có thể xuất hiện trên một đoạn giữa hai trạm liên tiếp. Xác suất có thanh tra trên đoạn giữa trạm j và trạm j+1pj/100. Nếu có thanh tra trên đoạn đó và một hành khách không có vé cho đoạn đó, người soát vé bị phạt c rúp cho hành khách đó.

Hãy giúp người soát vé lập kế hoạch bán vé sao cho kỳ vọng lợi nhuận thu được là lớn nhất.

Dữ liệu vào

  • Dòng đầu tiên chứa ba số nguyên n, m, c.
  • Dòng thứ hai chứa n số nguyên x1,x2,,xn.
  • Dòng thứ ba chứa n1 số nguyên p1,p2,,pn1.
  • m dòng tiếp theo, mỗi dòng chứa hai số ai, bi mô tả hành khách thứ i.

Dữ liệu ra

Một số thực duy nhất — kỳ vọng lợi nhuận lớn nhất của người soát vé. Đáp án được xem là đúng nếu sai số tuyệt đối hoặc tương đối không vượt quá 106.

Ràng buộc

  • 2n150,000
  • 1m300,000
  • 1c10,000
  • 0xi109, x1=0, xi<xi+1
  • 0pj100
  • 1ai<bin

Ví dụ

Input Output Giải thích
3 3 10
0 10 100
100 0
1 2
2 3
1 3
90.000000000 Hành khách 1 và 3 được bán vé đầy đủ từ trạm 1 đến 2. Hành khách 2 không được bán vé (đoạn 2–3 không có thanh tra, đoạn 1–2 luôn có nhưng hành khách này không đi qua). Tổng lợi nhuận: 0+90/2+90/2=90.
10 8 187
0 10 30 70 150 310 630 1270 2550 51100
13 87 65 0 100 44 67 3 4
1 10
2 9
3 8
1 5
6 10
2 7
4 10
4 5
76859.990000000 Với mỗi hành khách chọn đoạn bỏ vé [C,D] tối ưu, cộng dồn lợi nhuận kỳ vọng.

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 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