A27003.So Easy

普及-

通过率:0%

时间限制:1.00s

内存限制:128MB

题目描述

Easy! Yuilice出了一道非常非常简单的数学题目~

题目内容如下:

给你一个由 nn 个整数组成的数组 aa 。请数出有多少对索引 (i,j)(i, j) 是 i<ji < j 并且满足 aj−ai=j−ia_j - a_i = j - i 的。

输入格式

第一行都包含一个整数 nn ( 1≤n≤2⋅1051 \le n \le 2 \cdot 10^5 )。

第二行包含 nn 个整数 a1,a2,…,ana_1, a_2, \ldots, a_n ( 1≤ai≤n1 \le a_i \le n ) 代表 数组 aa 。

输出格式

输出 (i,j)(i, j) 中有 i<ji < j 和 aj−ai=j−ia_j - a_i = j - i 的索引对的数量。

输入输出样例

  • 输入#1

    6
    3 5 1 4 6 6

    输出#1

    1
  • 输入#2

    3
    1 2 3

    输出#2

    3
  • 输入#3

    4
    1 3 3 4

    输出#3

    3
  • 输入#4

    6
    1 6 3 4 5 6

    输出#4

    10

说明/提示

【样例一解释】

当j=6,i=4j = 6,i = 4时,aj=6a_j = 6,ai=4a_i = 4,差都为2,满足条件为一对。

【样例二解释】

满足条件的对数有

  1. j=2,i=1j = 2,i = 1
  2. j=3,i=1j = 3,i = 1
  3. j=3,i=2j = 3,i = 2

共计3对。

【数据范围】

对于30%对于30 \%的数据,1≤n≤50,1≤ai≤n1 \leq n \leq 50,1 \leq a_i \leq n。

对于50%对于50 \%的数据,1≤n≤103,1≤ai≤n1 \leq n \leq 10^3,1 \leq a_i \leq n。

对于100%对于100\%的数据,1≤n≤2×105,1≤ai≤n1 \leq n \leq 2 \times 10^5,1 \leq a_i \leq n。

输入解题思路,AI测评打分。不知道怎么写?

首页