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

Vòng tròn khách mời

Đề bài

Mô tả

Bạn mời n vị khách tới dự tiệc. Bạn sẽ sắp xếp một hoặc nhiều vòng tròn ghế. Mỗi ghế hoặc được đúng một vị khách ngồi, hoặc để trống. Bạn có thể tạo ra bao nhiêu vòng tròn tùy ý.

Các vị khách hơi ngại ngùng: vị khách thứ i muốn có ít nhất li ghế trống ở bên trái và ít nhất ri ghế trống ở bên phải ghế của mình. Hướng "trái" và "phải" được xác định khi coi tất cả khách đều quay mặt về tâm của vòng tròn.

Khi một vị khách ngồi một mình trong vòng tròn của mình, li ghế trống bên trái và ri ghế trống bên phải có thể trùng nhau (đi vòng quanh gặp lại chính mình).

Hỏi tổng số ghế nhỏ nhất cần dùng là bao nhiêu?

Dữ liệu vào

  • Dòng đầu chứa số nguyên n: số lượng khách.
  • n dòng tiếp theo, dòng thứ i chứa hai số nguyên liri.

Dữ liệu ra

  • In ra một số nguyên: tổng số ghế nhỏ nhất cần dùng.

Ràng buộc

  • 1n105
  • 0li,ri109

Ví dụ

Input Output Giải thích
3
1 1
1 1
1 1
6 Xếp cả 3 khách vào một vòng tròn 6 ghế: xen kẽ khách và ghế trống.
4
1 2
2 1
3 5
5 3
15 Dùng hai vòng tròn: một vòng 5 ghế cho khách 1 và 2, một vòng 10 ghế cho khách 3 và 4.
1
5 6
7 Chỉ một vòng tròn với một người. Người này cần ít nhất 5 ghế trống bên trái và 6 ghế trống bên phải tới người kế tiếp (chính là bản thân), nên số ghế tối thiểu là 6+1=7.

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