Командалар
Университетте студенттер басқа университетте өтетін Open олимпиадаға қатысу үшін командаларға бөлінеді. Әрбір студенттің шеберлік деңгейі бүтін санмен сипатталады. Команда теңгерімді деп аталады, егер сол командадағы ең үлкен және ең кіші шеберлік деңгейлерінің айырмасы \(D\)-ден аспаса.
Тапсырма — дәл үш студенттен тұратын теңгерімді командаларды құрудың қанша жолы бар екенін анықтау. Жауап өте үлкен болуы мүмкін, сондықтан оны \(10^9+7\) модулімен шығару қажет.
Енгізу
Бірінші жолда екі бүтін сан \(n\) және \(D\) \((3 \leq n \leq 2 \cdot 10^5,\; 0 \leq D \leq 10^9)\) — студенттердің саны және командадағы шеберлік деңгейлерінің рұқсат етілген ең үлкен айырмасы.
Екінші жолда \(n\) бүтін сан \(a_1, a_2, \dots, a_n\) \((1 \leq a_i \leq 10^9)\) — студенттердің шеберлік деңгейлері берілген.
Шығару
Дәл үш студенттен тұратын теңгерімді командаларды құрудың жолдарының санын \(10^9+7\) модулімен шығарыңыз.
Мысалдар
Енгізу 1
5 3
1 2 4 5 6
Жауап 1
3
Енгізу 2
3 0
1 1 1
Жауап 2
1
Енгізу 3
4 1
1 10 20 30
Жауап 3
0
Енгізу 4
5 100
1 2 3 4 5
Жауап 4
10
Енгізу 5
7 3
1 2 3 10 11 12 13
Жауап 5
5
Пікірлер