Tổng dấu thay đổi

Đề bài

Mô tả

Cho hai số nguyên dương a,b và một dãy s0,s1,,sn trong đó mỗi si{1,1}.

Dãy s có tính tuần hoàn với chu kỳ k, nghĩa là si=sik với mọi kin. Ngoài ra, k là ước của n+1.

Hãy tính giá trị sau theo modulo 109+9:

i=0nsi·ani·bi

Lưu ý: kết quả phải là phần dư không âm sau khi chia cho 109+9.

Dữ liệu vào

  • Dòng đầu chứa bốn số nguyên n,a,b,k.
  • Dòng thứ hai chứa một xâu độ dài k gồm các ký tự +-. Nếu ký tự thứ i (đánh chỉ số từ 0) là + thì si=1, ngược lại si=1. Chỉ k phần tử đầu được cho, phần còn lại suy ra từ tính tuần hoàn.

Dữ liệu ra

In ra một số nguyên duy nhất là phần dư không âm của tổng trên khi chia cho 109+9.

Ràng buộc

  • 1n109
  • 1a,b109
  • 1k105
  • k chia hết n+1.

Ví dụ

Input Output Giải thích
2 2 3 3
+-+
7 22·3021·31+20·32=46+9=7.
4 1 5 1
-
999999228 Tất cả si=1. Tổng bằng (1+5+25+125+625)=781999999228(mod109+9).

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