Xúc xắc của Polycarp

Đề bài

Mô tả

n con xúc xắc. Con xúc xắc thứ i có thể hiện một trong các giá trị từ 1 đến di.

Tất cả các con xúc xắc được tung cùng lúc, và tổng các giá trị hiện lên bằng A. Ta biết A cùng các giá trị d1,d2,,dn, nhưng không biết từng con xúc xắc cụ thể hiện giá trị nào.

Với mỗi con xúc xắc i, hãy đếm số giá trị r (với 1rdi) mà ta có thể khẳng định chắc chắn con xúc xắc đó không thể hiện, tức là không tồn tại bất kỳ cách tung nào cho tất cả các con xúc xắc sao cho tổng bằng A và con xúc xắc i hiện giá trị r.

Dữ liệu vào

  • Dòng đầu chứa hai số nguyên nA (1n2·105, nAs), với s=d1+d2++dn.
  • Dòng thứ hai chứa n số nguyên d1,d2,,dn (1di106).

Dữ liệu ra

In ra n số nguyên b1,b2,,bn, trong đó bi là số giá trị mà con xúc xắc thứ i chắc chắn không thể hiện.

Ràng buộc

  • 1n2·105
  • nAs với s=di
  • 1di106

Ví dụ

Input Output Giải thích
2 8
4 4
3 3 Tổng 8 chỉ đạt được khi cả hai con đều hiện 4. Do đó mỗi con chắc chắn không thể hiện 1, 2 hoặc 3: mỗi con có 3 giá trị bị loại.
1 3
5
4 Chỉ có một con, tổng 3 nghĩa là con đó hiện đúng 3. Nên nó không thể hiện 1, 2, 4, 5: 4 giá trị bị loại.
2 3
2 3
0 1 Tổng 3 đạt được khi con thứ nhất hiện 1 và con thứ hai hiện 2. Con thứ nhất có thể hiện cả 12 nên không giá trị nào bị loại; con thứ hai có thể hiện 1 hoặc 2 nhưng không thể hiện 3, nên có 1 giá trị bị loạ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.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