Min Max Repetition

AtCoder
IDagc020_d
Time2000ms
Memory256MB
Difficulty
Let $f(A, B)$, where $A$ and $B$ are positive integers, be the string satisfying the following conditions: * $f(A, B)$ has length $A + B$; * $f(A, B)$ contains exactly $A$ letters `A` and exactly $B$ letters `B`; * The length of the longest substring of $f(A, B)$ consisting of equal letters (ex., `AAAAA` or `BBBB`) is as small as possible under the conditions above; * $f(A, B)$ is the lexicographically smallest string satisfying the conditions above. For example, $f(2, 3)$ = `BABAB`, and $f(6, 4)$ = `AABAABAABB`. Answer $Q$ queries: find the substring of $f(A_i, B_i)$ from position $C_i$ to position $D_i$ (1-based). ## Constraints * $1 \leq Q \leq 10^3$ * $1 \leq A_i, B_i \leq 5 \times 10^8$ * $1 \leq C_i \leq D_i \leq A_i + B_i$ * $D_i - C_i + 1 \leq 100$ * All input values are integers. ## Input Input is given from Standard Input in the following format: $Q$ $A_1$ $B_1$ $C_1$ $D_1$ $A_2$ $B_2$ $C_2$ $D_2$ $:$ $A_Q$ $B_Q$ $C_Q$ $D_Q$ ## Partial Score * $500$ points will be awarded for passing the testset satisfying $1 \leq A_i, B_i \leq 10^3$. [samples]
Samples
Input #1
5
2 3 1 5
6 4 1 10
2 3 4 4
6 4 3 7
8 10 5 8
Output #1
BABAB
AABAABAABB
A
BAABA
ABAB
API Response (JSON)
{
  "problem": {
    "name": "Min Max Repetition",
    "description": {
      "content": "Let $f(A, B)$, where $A$ and $B$ are positive integers, be the string satisfying the following conditions: *   $f(A, B)$ has length $A + B$; *   $f(A, B)$ contains exactly $A$ letters `A` and exactly",
      "description_type": "Markdown"
    },
    "platform": "AtCoder",
    "limit": {
      "time_limit": 2000,
      "memory_limit": 262144
    },
    "difficulty": "None",
    "is_remote": true,
    "is_sync": true,
    "sync_url": null,
    "sign": "agc020_d"
  },
  "statements": [
    {
      "statement_type": "Markdown",
      "content": "Let $f(A, B)$, where $A$ and $B$ are positive integers, be the string satisfying the following conditions:\n\n*   $f(A, B)$ has length $A + B$;\n*   $f(A, B)$ contains exactly $A$ letters `A` and exactly...",
      "is_translate": false,
      "language": "English"
    }
  ]
}
Full JSON Raw Segments