trang chủ / đề bài / flamingo

Hồng Hạc Bí Ẩn

Đề bài

Mô tả

Có N chiếc lồng được đánh số từ 1 đến N. Lồng thứ i chứa Ai con hồng hạc, nhưng số lượng này được giữ bí mật. Bạn cần đoán ra số hồng hạc trong mỗi lồng.

Bạn có N đồng xu. Mỗi đồng xu cho phép bạn hỏi một câu: tổng số hồng hạc trong các lồng từ L đến R (bao gồm cả hai đầu) là bao nhiêu, với điều kiện L<R.

Đây là bài toán tương tác. Ban đầu chương trình phán xét cho bạn số nguyên N. Sau đó bạn có thể đặt không quá N câu hỏi, mỗi câu ở dạng ? L R (với 1≤L<R≤N); phán xét trả về giá trị AL+AL+1+…+AR. Khi đã sẵn sàng, in ra đáp án ở dạng ! A_1 A_2 \ldots A_N rồi kết thúc chương trình. Bạn chỉ được đưa ra đáp án một lần.

Nhớ flush stdout sau mỗi dòng xuất (C++: cout.flush(), Python: print(..., flush=True)).

Dữ liệu vào

Đọc từ luồng nhập chuẩn theo cơ chế tương tác:

  • Dòng đầu tiên chứa số nguyên N là số lồng.
  • Mỗi khi bạn hỏi ? L R, phán xét trả về một số nguyên là tổng AL+…+AR.

Dữ liệu ra

  • Để hỏi: in ra ? L R (với 1≤L<R≤N).
  • Để trả lời: in ra ! A_1 A_2 \ldots A_N.

Ràng buộc

  • 3≤N≤103
  • 0≤Ai≤103
  • Số câu hỏi không vượt quá N.

Ví dụ

Input Output Giải thích
6
5
15
10
? 1 2
? 5 6
? 3 4
! 1 4 4 6 7 8
Mảng ẩn là [1,4,4,6,7,8]. Các câu hỏi minh hoạ: A1+A2=5, A5+A6=15, A3+A4=10. (Đây chỉ là một cách hỏi minh hoạ; lời giải tham khảo dùng cách khác.)
3
1142
1857
1308
? 1 2
? 1 3
? 2 3
! 549 593 715
Mảng ẩn [549,593,715]. Hỏi A1+A2=1142 và A1+A2+A3=1857 nên A3=1857−1142=715; hỏi A2+A3=1308 nên A2=1308−715=593 và A1=1142−593=549.

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.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.402 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.6 gforth 0.7.3 gfortran 15.3.0 go 1.27.3 groovyc 5.1.3 javac 26.0.2.1 node 26.12.1 julia 1.13.2 kotlinc 2.4.21 lean 4.35.0 sbcl 2.2.9 lua 5.5.1 nim 2.2.12 fpc 3.2.2 fpc-themis 3.2.2 perl 5.42.3 php 8.5.12 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.15.1 racket 8.7 ruby 4.0.8 rustc 1.99.1 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.4.1 tclsh 8.6 bun 1.4.4 deno 2.9.8 v 0.5.2 zig 0.17.0