Three Days Ago

AtCoder
IDabc295_d
Time2000ms
Memory256MB
Difficulty
The string `20230322` can be rearranged into `02320232`, which is a repetition of `0232` twice. Similarly, a string consisting of digits is said to be **happy** when it can be rearranged into (or already is) a repetition of some string twice. You are given a string $S$ consisting of digits. Find the number of pairs of integers $(l,r)$ satisfying all of the following conditions. * $1 \le l \le r \le |S|$. ($|S|$ is the length of $S$.) * The (contiguous) substring formed of the $l$\-th through $r$\-th characters of $S$ is happy. ## Constraints * $S$ is a string consisting of digits whose length is between $1$ and $5 \times 10^5$, inclusive. ## Input The input is given from Standard Input in the following format: $S$ [samples]
Samples
Input #1
20230322
Output #1
4

We have $S=$ `20230322`.
Here are the four pairs of integers $(l,r)$ that satisfy the condition: $(1,6)$, $(1,8)$, $(2,7)$, and $(7,8)$.
Input #2
0112223333444445555556666666777777778888888889999999999
Output #2
185

$S$ may begin with `0`.
Input #3
3141592653589793238462643383279502884197169399375105820974944
Output #3
9
API Response (JSON)
{
  "problem": {
    "name": "Three Days Ago",
    "description": {
      "content": "The string `20230322` can be rearranged into `02320232`, which is a repetition of `0232` twice.   Similarly, a string consisting of digits is said to be **happy** when it can be rearranged into (or al",
      "description_type": "Markdown"
    },
    "platform": "AtCoder",
    "limit": {
      "time_limit": 2000,
      "memory_limit": 262144
    },
    "difficulty": "None",
    "is_remote": true,
    "is_sync": true,
    "sync_url": null,
    "sign": "abc295_d"
  },
  "statements": [
    {
      "statement_type": "Markdown",
      "content": "The string `20230322` can be rearranged into `02320232`, which is a repetition of `0232` twice.  \nSimilarly, a string consisting of digits is said to be **happy** when it can be rearranged into (or al...",
      "is_translate": false,
      "language": "English"
    }
  ]
}
Full JSON Raw Segments