#ATarc136d. [ARC136D] Without Carry

[ARC136D] Without Carry

题目描述

给定一个长度为 NN 的整数序列 A=(A1,A2,,AN)A=(A_1,A_2,\cdots,A_N)

请你计算有多少对整数 (i,j)(i,j)1i<jN1 \leq i < j \leq N),使得在用竖式计算 Ai+AjA_i+A_j 时不会发生进位。

输入格式

输入以以下格式从标准输入中给出。

NN A1A_1 A2A_2 \cdots ANA_N

输出格式

请输出答案。

样例 1

输入

4
4 8 12 90

输出

3

样例 2

输入

20
313923 246114 271842 371982 284858 10674 532090 593483 185123 364245 665161 241644 604914 645577 410849 387586 732231 952593 249651 36908

输出

6

样例 3

输入

5
1 1 1 1 1

输出

10

说明/提示

限制条件

  • 2N1062 \leq N \leq 10^6
  • 0Ai10610 \leq A_i \leq 10^6-1
  • 输入的所有值均为整数

样例解释 1

需要统计的 (i,j)(i,j) 共有 33 个,分别是 (1,3),(1,4),(2,4)(1,3),(1,4),(2,4)。例如,A1+A3=4+12A_1+A_3=4+12 在计算时不会发生进位,因此 (i,j)=(1,3)(i,j)=(1,3) 满足条件。反之,A3+A4=12+90A_3+A_4=12+90 在计算时会发生进位,因此 (i,j)=(3,4)(i,j)=(3,4) 不满足条件。

由 ChatGPT 4.1 翻译