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

Tham ăn

Đề bài

Mô tả

Cho mảng a gồm n số nguyên đôi một phân biệt.

Hãy xây dựng mảng b bằng cách hoán vị các phần tử của a, sao cho với mọi tập chỉ số S={x1,x2,,xk} (với 1xin0<k<n), tổng các phần tử của a tại những vị trí đó khác tổng các phần tử của b tại những vị trí đó:

iSaiiSbi

Lưu ý rằng tập rỗng và tập gồm toàn bộ n chỉ số không được xét.

Dữ liệu vào

  • Dòng đầu chứa số nguyên n là kích thước mảng.
  • Dòng thứ hai chứa n số nguyên phân biệt a1,a2,,an.

Dữ liệu ra

Nếu không tồn tại mảng b thỏa mãn, in ra 1.

Ngược lại, in ra n số nguyên b1,b2,,bn trên một dòng. Mảng b phải là một hoán vị của a. Nếu có nhiều đáp án, in ra một đáp án bất kỳ.

Ràng buộc

  • 1n22
  • 0ai109
  • Các giá trị ai đôi một phân biệt.

Ví dụ

Input Output Giải thích
2
1 2
2 1 Chỉ có hai tập chỉ số cần xét là S={1}S={2}. Với S={1}: a1=12=b1. Với S={2}: a2=21=b2.
4
1000 100 10 1
1 1000 100 10 Mỗi vị trí nhận giá trị lớn hơn liền kề theo thứ tự tăng dần, riêng vị trí giữ giá trị lớn nhất nhận giá trị nhỏ nhất. Đáp án 100 1 1000 10 cũng được chấp nhậ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.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