SPECPAIR - Số đặc biệt

View as PDF

Submit solution


Points: 100.00
Time limit: 1.0s
Memory limit: 100M
Input: stdin
Output: stdout

Author:
Problem type
Allowed languages
C, C++, GAS64, Pascal, Perl, PHP, Python, Sed, TCL, Text

Ta gọi một số nguyên dương ~x~ bất kì là số đặc biệt nếu như các chữ số của ~x~ đều giống nhau. Ví dụ: 22, 3333, 1 là số đặc biệt, còn 123, 78, 4445 không phải là số đặc biệt.

Cho dãy số ~A~ gồm ~n~ phần tử ~a_1~, ~a_2~,..., ~a_n~. Hãy đếm số cặp chỉ số ~(i,j)~ sao cho:

  • 1 ≤ ~i~ < ~j~ ≤ ~n~
  • ~a_i~ + ~a_j~ là một số đặc biệt

Dữ liệu

  • Dòng đầu tiên gồm số nguyên dương ~n~ (1 ≤ ~n~ ≤ 2 × ~10^5~) là số phần tử của dãy ~A~.
  • Dòng thứ hai gồm ~n~ số nguyên ~a_1~, ~a_2~,..., ~a_n~ (1 ≤ ~a_i~ ≤ ~10^6~).

Kết quả

  • In ra số cặp chỉ số cần tìm

Ví dụ

Sample Input 1
3
13 9 2
Sample Output 1
2
Sample Input 2
5 
1 2 3 4 5
Sample Output 2
10

Giới hạn

  • Subtask 1 (50% số điểm): ~n~ ≤ 2000
  • Subtask 2 (50% số điểm): Không có giới hạn gì thêm

Giải thích

Ở ví dụ thứ nhất:

  • Với ~i~ = 1, ~j~ = 2, ta có ~a_1~ + ~a_2~ = 13 + 9 = 22 là một số đặc biệt
  • Với ~i~ = 1, ~j~ = 3, ta có ~a_1~ + ~a_3~ = 13 + 2 = 15 không là một số đặc biệt
  • Với ~i~ = 2, ~j~ = 3, ta có ~a_2~ + ~a_3~ = 9 + 2 = 11 là một số đặc biệt

Do đó, có hai cặp chỉ số ~(i,j)~ cần đếm là (1,2) và (1,3).

Ở ví dụ thứ hai, tất cả các cặp chỉ số ~(i,j)~ đều thỏa yêu cầu đề bài

Nguồn: Free Contest


Comments

Please read the guidelines before commenting.


There are no comments at the moment.