DMOPC '20 Contest 4 P5 - Cyclic Cypher
View as PDFYou are working as a cryptographer in a post-apocalyptic world. The most common form of information is transmitted in messages with cyclic arrays of size  where each element is either 
 or 
, taking inspiration from the previously failed binary system. To ensure that the message is not corrupted, the receiver of the message uses an identification number 
. The message can be verified if the sum of the products of elements in every cyclic subarray of length 
 is 
. You would like to send a valid message to a recipient with identification number 
. Please find any valid message that can be verified, or determine that no such message exists.
Constraints
Subtask 1 [5%]
Subtask 2 [15%]
Subtask 3 [20%]
If  and 
 are expressed as 
 and 
 respectively where 
 and 
 are odd and 
 and 
 are integers, then 
.
Subtask 4 [60%]
No additional constraints.
Input Specification
The first and only line contains  integers 
 and 
, as specified in the problem statement.
Output Specification
If it is impossible to create a valid message, output 0. Otherwise, output  space-separated integers (either 
 or 
) on a single line, representing the cyclic array.
Note: your output must follow the standard convention of not having any leading or trailing whitespace, and it must end with a new line.
Sample Input
8 3
Sample Output
-1 -1 1 1 -1 1 -1 1
Explanation
The diagram below shows the cyclic array, with the indices labeled below the elements.
The following list shows the product of every cyclic subarray of length :
The product of elements from index  to 
 is 
.
The product of elements from index  to 
 is 
.
The product of elements from index  to 
 is 
.
The product of elements from index  to 
 is 
.
The product of elements from index  to 
 is 
.
The product of elements from index  to 
 is 
.
The product of elements from index  to 
 is 
.
The product of elements from index  to 
 is 
.
Summing, we get , so this message can be verified. Note that this is not the only possible solution, and other verifiable messages will also be accepted.
Comments