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

Trò chơi những chiếc rương

Đề bài

Mô tả

n chiếc rương đựng xu, đánh số từ 1 đến n. Rương thứ i ban đầu chứa ai đồng xu.

Trong mỗi lượt đi, người chơi chọn một số nguyên dương x thoả mãn 2x+1n, rồi lấy đúng một đồng xu từ mỗi rương mang số x, 2x2x+1. Nếu một trong ba rương đó đã hết xu thì đơn giản là không lấy được đồng nào từ rương đó (lượt đi vẫn hợp lệ).

Trò chơi kết thúc khi tất cả các rương đều rỗng. Hãy tìm số lượt đi ít nhất để làm rỗng toàn bộ các rương. Nếu không tồn tại cách chơi nào làm rỗng hết các rương, in ra 1.

Dữ liệu vào

  • Dòng đầu chứa số nguyên n là số lượng rương.
  • Dòng thứ hai chứa n số nguyên a1,a2,,an là số xu ban đầu trong từng rương.

Dữ liệu ra

In ra một số nguyên duy nhất: số lượt đi ít nhất để làm rỗng tất cả các rương, hoặc 1 nếu không thể.

Ràng buộc

  • 1n100
  • 1ai1000

Ví dụ

Input Output Giải thích
1
1
-1 Không có lượt đi nào hợp lệ (cần 2x+11 là bất khả thi), nên rương duy nhất không thể được làm rỗng.
3
1 2 3
3 Lượt đi hợp lệ duy nhất là x=1, mỗi lần lấy một xu từ các rương 1,2,3. Cần lặp lại ít nhất 3 lần để làm rỗng rương 3 (rương chứa nhiều xu nhấ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