atcoder#ARC136D. [ARC136D] Without Carry

[ARC136D] Without Carry

题目描述

長さ N N の整数列 A=(A1,A2,,AN) A=(A_1,A_2,\cdots,A_N) が与えられます.

整数の組 (i,j) (i,j) (1  i < j  N 1\ \leq\ i\ <\ j\ \leq\ N ) であって,Ai+Aj A_i+A_j を筆算で計算する際に繰り上がりが発生しないものの個数を求めてください.

输入格式

入力は以下の形式で標準入力から与えられる.

N N A1 A_1 A2 A_2 \cdots AN A_N

输出格式

答えを出力せよ.

题目大意

给定一个长度为 nn 的数列 SS,设 Ai,jA_{i,j} 代表 SiS_i 十进制表示法中从右往左数第 jj 位的数,如果字符串长度 <j<jAi,j=0A_{i,j} = 0

求满足 k[1,7],Ai,k+Aj,k<10\forall k \in [1, 7], A_{i, k} + A_{j, k} < 10 的二元数对 (i,j)(i, j) 的个数。

4
4 8 12 90
3
20
313923 246114 271842 371982 284858 10674 532090 593483 185123 364245 665161 241644 604914 645577 410849 387586 732231 952593 249651 36908
6
5
1 1 1 1 1
10

提示

制約

  • 2  N  106 2\ \leq\ N\ \leq\ 10^6
  • 0  Ai  1061 0\ \leq\ A_i\ \leq\ 10^6-1
  • 入力される値はすべて整数

Sample Explanation 1

数えるべき組 (i,j) (i,j) は,(1,3),(1,4),(2,4) (1,3),(1,4),(2,4) 3 3 つです. 例えば,A1+A3=4+12 A_1+A_3=4+12 を計算する際には繰り上がりが発生しないので,(i,j)=(1,3) (i,j)=(1,3) は数えます. 反対に,A3+A4=12+90 A_3+A_4=12+90 を計算する際には繰り上がりが発生するので,(i,j)=(3,4) (i,j)=(3,4) は数えません.