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

Devu và những bông hoa

Đề bài

Mô tả

Devu có n hộp hoa. Hộp thứ i chứa fi bông hoa cùng màu, và các hoa trong cùng một hộp là không phân biệt được. Không có hai hộp nào chứa hoa cùng màu.

Devu muốn chọn ra đúng s bông hoa để trang trí khu vườn. Hãy đếm số cách chọn số hoa từ mỗi hộp sao cho tổng đúng bằng s bông. Hai cách được coi là khác nhau nếu tồn tại ít nhất một hộp mà số hoa lấy ra từ hộp đó ở hai cách là khác nhau.

Nói cách khác, hãy đếm số bộ (x1,x2,,xn) thoả mãn 0xifi với mọi ix1+x2++xn=s.

Vì kết quả có thể rất lớn, hãy in ra phần dư của nó khi chia cho 109+7.

Dữ liệu vào

  • Dòng thứ nhất chứa hai số nguyên ns.
  • Dòng thứ hai chứa n số nguyên f1,f2,,fn.

Dữ liệu ra

Một số nguyên duy nhất: số cách chọn hoa, lấy phần dư khi chia cho 109+7.

Ràng buộc

  • 1n20
  • 0s1014
  • 0fi1012

Ví dụ

Input Output Giải thích
2 3
1 3
2 Có hai cách chọn 3 bông: (1,2)(0,3).
2 4
2 2
1 Chỉ có một cách chọn 4 bông: (2,2).
3 5
1 3 2
3 Có ba cách chọn 5 bông: (1,2,2), (0,3,2)(1,3,1).

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