CCC '25 S2 - Cryptogram Cracking Club

View as PDF

Submit solution


Points: 7 (partial)
Time limit: 2.0s
Memory limit: 512M

Author:
Problem type
Canadian Computing Competition: 2025 Stage 1, Senior #2

Cyrene, the captain of the Cryptogram Cracking Club (CCC), came across a concerningly long cipher. Conveniently, this cipher is composed of lower-case characters (a-z). Comfortingly, the cipher is composed of a pattern that repeats infinitely.

Cyrene wishes to locate the c-th character of the cipher. To make your job easier, the CCC members have extracted the repeated pattern and compressed it using the Run-Length Encoding (RLE) algorithm, which replaces consecutive repeated characters with a single occurrence of the character followed by a count of how many times it was repeated. For example, for the pattern aaaabccdddd, the RLE algorithm outputs a4b1c2d4.

You are given the output of the RLE algorithm for a certain pattern. Can you determine the c-th character of the long cipher that is formed by repeating this pattern infinitely?

Input Specification

The first line of input will consist of a string S, representing a pattern produced by the RLE algorithm. The length of S will be at least 2 and at most 2105. Additionally, all numbers appearing in S are between 1 and 1012.

The next line of input contains a single integer c, representing the index of the character you wish to locate, starting from index 0.

The following table shows how the available 15 marks are distributed:

Marks Bounds on c Additional Constraints
6 0c2000 All numbers appearing in S are between 1 and 9 (inclusive) and the length of the repeated pattern is at most 2000 characters.
3 0c106 The length of the repeated pattern is at most 106 characters.
3 0c1012 The length of the repeated pattern is at most 106 characters.
3 0c1012 No additional constraints.

Output Specification

Output the c-th character of the long cipher.

Sample Input 1

Copy
r2d2
8

Sample Output 1

Copy
r

Explanation for Sample Output 1

The output of the RLE algorithm r2d2 corresponds to the pattern rrdd, which creates the infinitely long cipher rrddrrddrrddrrdd..., where the c=8th character is r. In this example, the c=8th character is highlighted with a box around it.

Sample Input 2

Copy
a4b1c2d10
100

Sample Output 2

Copy
d

Explanation for Sample Output 2

The output of the RLE algorithm a4b1c2d10 corresponds to the pattern aaaabccdddddddddd. When repeated infinitely, the c=100th character is d.


Comments

There are no comments at the moment.