1.双指针暴力法
双重循环枚举i,j 来计数即可,复杂度是O(n2)。但是无法拿到满分。 服务器一般一秒跑1e8 次。
把n 带进去看看(2∗106)2=4∗1012>>1e8
给定n个整数a1,...,an和一个整数x。求有多少不同下标对(i,j)满足ai−aj=x。 (1, 5) 和 (5, 1) 不一样,但(1, 1) 和 (1, 1) 一样。
第一行两个整数$n(1 \leq n \leq 2 \times 10^6),x(-2 \times 10^6 \leq x \leq 2 \times 10^6)$,分别代表整数的个数和题目中的x。
第二行n个用空格隔开的整数,第i个代表−2×106≤ai≤2×106
一行一个整数,代表满足ai−aj=x的不同下标对(i,j)个数。
input
5 1
1 1 5 4 2
ouput
3
(i,j) 为(5,1),(5,2),(3,4)