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

Xem lại phim

Đề bài

Mô tả

Bạn muốn xem lại những khoảnh khắc hay nhất của một bộ phim. Trình phát của bạn có hai nút:

  1. Xem phút hiện tại của phim. Khi bấm nút này, bạn xem phút hiện tại và trình phát tự động chuyển sang phút kế tiếp.
  2. Tua đúng x phút của phim (x là một số nguyên dương cố định cho trước). Nếu trình phát đang ở phút thứ t, sau khi bấm nút này nó chuyển tới phút thứ t+x.

Ban đầu phim đang ở phút thứ 1. Bạn muốn xem đúng n khoảnh khắc hay nhất; khoảnh khắc thứ i bắt đầu từ phút li và kết thúc ở phút ri (tức là gồm các phút li,li+1,,ri).

Hãy xác định số phút phim ít nhất bạn phải xem để xem được tất cả các khoảnh khắc hay nhất.

Các khoảnh khắc đã được sắp xếp theo thời gian và không giao nhau: với mọi i từ 2 tới n ta có ri1<li.

Dữ liệu vào

  • Dòng đầu chứa hai số nguyên nx.
  • n dòng tiếp theo, dòng thứ i chứa hai số nguyên liri.

Dữ liệu ra

Một số nguyên duy nhất, số phút phim ít nhất bạn phải xem.

Ràng buộc

  • 1n50
  • 1x105
  • 1liri105
  • ri1<li với mọi i từ 2 tới n

Ví dụ

Input Output Giải thích
2 3
5 6
10 12
6 Bắt đầu ở phút 1. Các phút 1 tới 4 không có gì hay nên bấm nút tua (1 → 4). Không thể tua tiếp vì sẽ vượt qua phút 5, nên xem từ phút 4 tới 6 rồi tới phút 7. Tua tiếp (7 → 10) và xem từ phút 10 tới 12. Tổng cộng xem 6 phút.
1 1
1 100000
100000 x=1 nên nút tua cũng chỉ nhích 1 phút, buộc phải xem toàn bộ 100000 phút.

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