Vòng tròn quái vật

Đề bài

Mô tả

n con quái vật đứng thành một vòng tròn, được đánh số theo chiều kim đồng hồ từ 1 đến n. Ban đầu con quái vật thứ iai máu.

Bạn tiêu diệt quái vật bằng cách bắn. Mỗi phát bắn tốn đúng một viên đạn và làm giảm 1 máu của con quái vật bị nhắm tới. Khi máu của một con quái vật i giảm xuống 0 hoặc thấp hơn, nó chết và nổ, gây bi sát thương cho con quái vật kế tiếp (con i+1 nếu i<n, hoặc con 1 nếu i=n). Nếu con kế tiếp đã chết thì không có gì xảy ra. Nếu vụ nổ giết con kế tiếp, con đó cũng nổ, gây sát thương cho con sau nó và có thể kích hoạt một dây chuyền nổ, cứ như vậy tiếp tục.

Hãy tính số viên đạn ít nhất cần bắn để tiêu diệt toàn bộ n con quái vật trong vòng tròn.

Dữ liệu vào

  • Dòng đầu chứa một số nguyên T là số lượng bộ dữ liệu.
  • Với mỗi bộ dữ liệu:
    • Dòng đầu chứa một số nguyên n là số quái vật.
    • n dòng tiếp theo, dòng thứ i chứa hai số nguyên aibi là các tham số của con quái vật thứ i trong vòng tròn.

Dữ liệu ra

Với mỗi bộ dữ liệu, in ra một số nguyên là số viên đạn ít nhất cần bắn để tiêu diệt toàn bộ quái vật.

Ràng buộc

  • 1T150000
  • 2n300000
  • 1ai,bi1012
  • Tổng số quái vật trong tất cả các bộ dữ liệu không vượt quá 300000.

Ví dụ

Input Output Giải thích
1
3
7 15
2 14
5 3
6 Bắn con 2 hết 2 viên, nó nổ gây 14 sát thương lên con 3 (thừa để giết con 3), con 3 nổ gây 3 sát thương lên con 1. Con 1 còn 73=4 máu, bắn thêm 4 viên. Tổng cộng 2+4=6 viên.
1
3
1000000000000 1000000000000
1000000000000 1000000000000
1000000000000 1000000000000
1000000000000 Mọi con đều giống nhau, cần bắn hết một con (1012 viên), phần còn lại được các vụ nổ dây chuyền lo trọn vẹn.

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