Sửa hàng rào cho đẹp

Đề bài

Mô tả

Bạn có một hàng rào gồm n tấm ván dựng đứng. Mỗi tấm ván có chiều rộng bằng 1. Tấm ván thứ i có chiều cao ai.

Hàng rào được gọi là đẹp nếu không có hai tấm ván kề nhau nào có cùng chiều cao. Nói cách khác, với mọi i từ 2 đến n, phải có ai1ai.

Ban đầu hàng rào có thể chưa đẹp, nhưng bạn có thể chỉnh sửa nó. Bạn có thể tăng chiều cao của tấm ván thứ i thêm 1 đơn vị, nhưng phải trả bi rúp cho mỗi lần tăng. Mỗi tấm ván có thể được tăng chiều cao nhiều lần tùy ý (kể cả không tăng lần nào).

Hãy tính số rúp ít nhất bạn phải chi để hàng rào trở nên đẹp.

Bạn phải trả lời q truy vấn độc lập.

Dữ liệu vào

Dòng đầu chứa số nguyên q (1q3·105) — số truy vấn.

Với mỗi truy vấn:

  • Dòng đầu chứa số nguyên n (1n3·105) — số tấm ván.
  • n dòng tiếp theo, dòng thứ i chứa hai số nguyên aibi (1ai,bi109) — chiều cao ban đầu của tấm ván thứ i và giá tiền để tăng chiều cao tấm ván đó thêm 1.

Tổng n trên tất cả truy vấn không vượt quá 3·105.

Đáp án của mỗi truy vấn được đảm bảo không vượt quá 1018.

Dữ liệu ra

Với mỗi truy vấn, in ra trên một dòng số rúp ít nhất cần chi để hàng rào đẹp.

Ví dụ

Input Output Giải thích
3
3
2 4
2 1
3 5
3
2 3
2 10
2 6
4
1 7
3 3
2 6
1000000000 2
2
9
0
Truy vấn 1: tăng tấm ván thứ hai thêm 2, tổng chi phí 2·b2=2.
Truy vấn 2: tăng tấm ván thứ nhất và tấm ván thứ ba mỗi tấm thêm 1, tổng chi phí b1+b3=3+6=9.
Truy vấn 3: hàng rào đã đẹp ngay từ đầu, không cần chi thêm.
3
3
2 4
2 1
3 5
3
2 3
2 2
2 6
4
1 7
3 3
2 6
1000000000 2
2
2
0
So với ví dụ trước, giá tăng chiều cao tấm ván thứ hai trong truy vấn 2 rẻ hơn (b2=2), nên chỉ cần tăng riêng nó thêm 1 với chi phí 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.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