Problem:
Score : 400 points

Problem Statement

Takahashi had a pair of two positive integers not exceeding N, (a,b), which he has forgotten.
He remembers that the remainder of a divided by b was greater than or equal to K.
Find the number of possible pairs that he may have had.

Constraints

1 \leq N \leq 10^5

0 \leq K \leq N-1

All input values are integers.

Input

Input is given from Standard Input in the following format:

N K

Output

Print the number of possible pairs that he may have had.

Sample Input 1

5 2

Sample Output 1

7

There are seven possible pairs: (2,3),(5,3),(2,4),(3,4),(2,5),(3,5) and (4,5).

Sample Input 2

10 0

Sample Output 2

100

Sample Input 3

31415 9265

Sample Output 3

287927211

Solution in C++14 (GCC 5.4.1) (judge verdict: Wrong Answer)

#include<iostream>
#include<bitset>
#include<sstream>
#include<vector>
#include<string>
#include<cmath>
#include<algorithm>
#include<map>
#include<iomanip>
#include<stdio.h>

using namespace std;
long gcd(long x, long y){ if (x > y){ return gcd(y, x); } long r; while (y != 0) { r = x % y; x = y; y = r; } return x; }
long lcm(long x, long y){ return (x / gcd(x, y) * y); }

int main(){

	long N, K; cin >> N >> K;
	long res = 0;
	//bを固定して考える
	// b = 1 K = 2
	// a = 

	for (int b = 1; b <= N; b++){
		long p = N / b;
		long q = max(b - K, (long)0);
		long r = N % b;

		res += p * q;
		res += max(r - K, (long)0);
        if (r == K) res++;
	}

	cout << res << endl;
}