P15983 [PA 2026] 列竖式 / Dodawanie

题目描述

Bajtek 正在学习列竖式。他将三个相同长度 $n$ 的数字上下对齐排列。他现在想知道,有多少对 $(i, j)$(其中 $1 \leq i \leq j \leq n$),使得这三个数从第 $i$ 位到第 $j$ 位的片段构成一个正确的加法算式(即第三个数的对应片段等于第一个数与第二个数的对应片段之和)。所有数字均允许有前导零。

输入格式

输入由三行组成,每行包含一个整数(可能以零开头)。这三个数的位数均相同,均为 $n$ 位($1 \leq n \leq 10^6$)。

输出格式

输出一个整数,表示有多少对 $(i, j)$ 使得从第 $i$ 列到第 $j$ 列的片段构成正确的加法算式。

说明/提示

**样例解释**:正确的加法算式对应于以下几对:$(2, 2)$(因为 $3 + 4 = 7$)、$(2, 4)$(因为 $375 + 408 = 783$)、$(3, 4)$(因为 $75 + 8 = 83$)以及 $(6, 6)$(因为 $3 + 4 = 7$)。请注意,$(2,2)$ 与 $(6,6)$ 所对应的片段完全相同,但我们仍将它们分别计数,共计两次。而对于未对齐的片段加法,例如 $3 + 3 = 6$,我们不将其计入。