关于整数列中找到两个数的和在一个范围内的组合数

求大神指教一道算法题,想了很久了
给出一个有序整数列(无重复),从序列中选取两个数使得和在a到b之间
求这样的取法有多少种(取的两个数字不能相同)
求大神给出一种O(n)的方法
我只知道和为一个固定值是可以用两个指针从头尾开始不断向中间靠拢
但是变成和在一个范围内之和,这种方法的时间复杂度有点高
有更好的方法吗?