CF BUDDY
← Problems·

1033C · Permutation Game

1600 · brute force, dp, games

Problem: After a long day, Alice and Bob decided to play a little game. The game board consists of nn cells in a straight line, numbered from 11 to nn, where each cell contains a number aia_i between 11 and nn. Furthermore, no two cells contain the same number.

A token is placed in one of the cells. They take alternating turns of moving the token around the board, with Alice moving first. The current player can move from cell ii to cell jj only if the following two conditions are satisfied:

  • the number in the new cell jj must be strictly larger than the number in the old cell ii (i.e. aj>aia_j > a_i), and
  • the distance that the token travels during this turn must be a multiple of the number in the old cell (i.e. ijmodai=0|i-j|\bmod a_i = 0).

Whoever is unable to make a move, loses. For each possible starting position, determine who wins if they both play optimally. It can be shown that the game is always finite, i.e. there always is a winning strategy for one of the players.

Input Format: The first line contains a single integer nn (1n1051 \le n \le 10^5) — the number of numbers.

The second line contains nn integers a1,a2,,ana_1, a_2, \ldots, a_n (1ain1 \le a_i \le n). Furthermore, there are no pair of indices iji \neq j such that ai=aja_i = a_j.

Output Format: Print ss — a string of nn characters, where the ii-th character represents the outcome of the game if the token is initially placed in the cell ii. If Alice wins, then sis_i has to be equal to "A"; otherwise, sis_i has to be equal to "B".

Note: In the first sample, if Bob puts the token on the number (not position):

  • 11: Alice can move to any number. She can win by picking 77, from which Bob has no move.
  • 22: Alice can move to 33 and 55. Upon moving to 55, Bob can win by moving to 88. If she chooses 33 instead, she wins, as Bob has only a move to 44, from which Alice can move to 88.
  • 33: Alice can only move to 44, after which Bob wins by moving to 88.
  • 44, 55, or 66: Alice wins by moving to 88.
  • 77, 88: Alice has no move, and hence she loses immediately.

Sample Cases

Case 1

Input

8
3 6 5 4 2 7 1 8

Output

BAAAABAB

Case 2

Input

15
3 11 2 5 10 9 7 13 15 8 4 12 6 1 14

Output

ABAAAABBBAABAAB

Similar problems

00:00:00
Loading editor…
Welcome! I'm your coding tutor for this problem. Use the chips below to reveal stored hints or get AI feedback on your code. I'll guide you step by step — never giving away the solution.

Sign in to unlock AI tutor feedback