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

Chia gói bóng bay

Đề bài

Mô tả

n gói bóng bay, gói thứ i chứa ai quả bóng. Cần chia toàn bộ n gói thành hai phần cho hai người sao cho:

  • Không được tách gói (mỗi gói nguyên vẹn thuộc về đúng một người).
  • Mỗi người phải nhận ít nhất một gói.
  • Tổng số bóng của hai người không bằng nhau.

Hãy đưa ra một cách chia thỏa mãn, hoặc kết luận không tồn tại.

Dữ liệu vào

  • Dòng đầu: số nguyên n — số gói bóng bay.
  • Dòng thứ hai: n số nguyên a1,a2,,an — số bóng trong từng gói.

Dữ liệu ra

  • Nếu không thể chia, in ra 1.
  • Ngược lại, in ra hai dòng:
    • Dòng đầu: số nguyên k — số gói chia cho người thứ nhất (1kn1).
    • Dòng thứ hai: k số nguyên phân biệt trong khoảng [1,n] — chỉ số các gói đưa cho người thứ nhất, theo thứ tự bất kỳ.

Nếu có nhiều cách chia, in ra cách bất kỳ.

Ràng buộc

  • 1n10
  • 1ai1000

Ví dụ

Input Output Giải thích
3
1 2 1
1
1
Người 1 nhận gói 1 (1 bóng), người 2 nhận gói 2 và 3 (tổng 3 bóng). 13.
2
5 5
-1 Cách chia duy nhất cho hai gói cho hai người dẫn đến tổng bằng nhau.
1
10
-1 Chỉ có một gói nên không thể chia cho hai người.

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.400 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.2 gforth 0.7.3 gfortran 12.2.0 go 1.27.0 groovyc 5.1.1 javac 25.0.4 node 26.8.1 julia 1.12.7 kotlinc 2.4.10 lean 4.33.1 sbcl 2.2.9 lua 5.4.9 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.10 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.14.7 racket 8.7 ruby 4.0.6 rustc 1.98.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.3.3 tclsh 8.6 bun 1.4.0 deno 2.9.6 v 0.5.2 zig 0.16.0