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

Bẫy kiện cỏ (Gold)

Đề bài

Mô tả

Farmer John đặt N kiện cỏ khô dọc theo một con đường thẳng dài vô tận. Kiện cỏ thứ j có kích thước Sj và nằm tại vị trí Pj, các vị trí đôi một phân biệt.

Bò Bessie đứng tại một vị trí không có kiện cỏ. Cô đi lại tự do dọc con đường nhưng không thể đi xuyên qua một kiện cỏ. Bù lại, nếu chạy liên tục theo cùng một hướng được D đơn vị độ dài rồi đâm vào một kiện cỏ có kích thước nghiêm ngặt nhỏ hơn D, cô phá vỡ và loại bỏ vĩnh viễn kiện cỏ đó. Mỗi lần một kiện cỏ biến mất, khoảng trống để lấy đà rộng thêm, nhờ vậy Bessie có thể phá tiếp những kiện cỏ khác.

Bessie thoát được nếu cô vượt qua được kiện cỏ ngoài cùng bên trái hoặc kiện cỏ ngoài cùng bên phải; ngược lại cô bị kẹt.

Hãy tính tổng độ dài của tập các vị trí xuất phát khiến Bessie bị kẹt.

Dữ liệu vào

  • Dòng đầu: số nguyên N
  • N dòng tiếp theo: hai số nguyên SjPj là kích thước và vị trí của kiện cỏ thứ j. Các kiện cỏ được cho theo thứ tự bất kỳ.

Dữ liệu ra

Một số nguyên duy nhất là tổng độ dài đoạn đường mà đứng ở đó Bessie bị kẹt.

Ràng buộc

  • 1N100000
  • 1Sj,Pj109
  • Tất cả Pj đều phân biệt

Ví dụ

Input Output Giải thích
5
8 1
1 4
8 8
7 15
4 20
14 Hai kiện cỡ 8 tại vị trí 1 và 8 kẹp một đoạn dài 7: kiện cỡ 1 tại vị trí 4 ở giữa bị phá ngay, nhưng sau đó Bessie chỉ lấy đà được 7 đơn vị nên không phá nổi hai kiện cỡ 8. Tương tự, kiện cỡ 8 tại vị trí 8 và kiện cỡ 7 tại vị trí 15 kẹp một đoạn dài 7 nữa. Đứng sau vị trí 15, Bessie phá kiện cỡ 4 tại vị trí 20 rồi chạy thoát sang phải. Tổng = 7 + 7 = 14.
7
20 1
16 17
9 19
16 22
5 24
12 33
1 35
32 Mọi vị trí giữa 1 và 33 đều bị kẹt, tổng độ dài 32. Chẳng hạn đứng giữa 24 và 33: Bessie lấy đà 9 đơn vị để phá kiện cỡ 5 tại vị trí 24, nhưng rồi bị kẹp giữa kiện cỡ 16 tại vị trí 22 và kiện cỡ 12 tại vị trí 33 (khoảng cách 11) nên dừng lại. Đứng giữa 33 và 35 thì cô phá kiện cỡ 1 tại vị trí 35 và thoát sang phải.

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