CCO '23 P1 - Binaria
View as PDFCanadian Computing Olympiad: 2023 Day 1, Problem 1
You have been hired by the Cheap Communication Organization (CCO) to work on a communication breakthrough: sub-message sum (SMS). This revolutionary idea works as follows.
Given a binary string of length , and some positive integer 
 with 
, the SMS for
the string consists of a sequence of 
 sums. The first sum in the sequence is the
sum of digits 
 through 
, the second sum is the sum of digits 
 through 
, and so on
until the last sum which is the sum of digits 
 through 
.
For example, if , the SMS of the binary string 
110010 is . This is because
 and 
.
Since you are a very junior developer, your job is not to find the original binary string from a given SMS, but rather the number of binary strings that could have formed this SMS.
Input Specification
The first line of input contains the two space-separated integers  and 
 where 
.
The second line of input contains 
 space-separated integers which is the SMS of
at least one binary string.
| Marks Awarded | Bounds on  | Additional Bounds on  | 
|---|---|---|
| None | ||
| None | 
Output Specification
Output the remainder of  divided by the prime number 
 where 
 is the positive
integer equal to the total number of possible binary strings that correspond to the given
SMS.
Sample Input
7 4
3 2 2 2
Output for Sample Input
3
Explanation of Output for Sample Input
The possible strings of length  are 
1011001, 1101010, and 1110011.
Comments