Problem:
Score : 200 points

Problem Statement

Find the sum of the integers between 1 and N (inclusive), whose sum of digits written in base 10 is between A and B (inclusive).

Constraints

1 \leq N \leq 10^4

1 \leq A \leq B \leq 36

All input values are integers.

Input

Input is given from Standard Input in the following format:

N A B

Output

Print the sum of the integers between 1 and N (inclusive), whose sum of digits written in base 10 is between A and B (inclusive).

Sample Input 1

20 2 5

Sample Output 1

84

Among the integers not greater than 20, the ones whose sums of digits are between 2 and 5, are: 2,3,4,5,11,12,13,14 and 20. We should print the sum of these, 84.

Sample Input 2

10 1 2

Sample Output 2

13

Sample Input 3

100 4 16

Sample Output 3

4554

Solution in Java8 (OpenJDK 1.8.0) (judge verdict: Wrong Answer)

import java.util.Scanner;

class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		int a = sc.nextInt();
		int b = sc.nextInt();
		int nlen = String.valueOf(n).length();
		int tmp1 = 0;
		int tmp2 = 0;
		int sum = 0;

		for (int i = 1; i <= nlen; i++) {
			for (int j = (int) Math.pow(10, i-1); j < Math.pow(10, i); j++) {
				if (j > n) {
					System.out.println(sum); return;
				} else if (i == 1) {
					tmp1 = j;
					if (tmp1 >= a && tmp1 <= b) {
						sum += j;
					}
				} else if (i == 2) {
					tmp1 = j/10;
					tmp2 = j%10;
					tmp1 += tmp2;
					if (tmp1 >= a && tmp1 <= b) {
						sum += j;
					}
				} else if (i == 3) {
					tmp1 = j/100;
					tmp2 = j%100;
					tmp1 += tmp2/10;
					tmp2 = tmp2%10;
					tmp1 += tmp2;
					if (tmp1 >= a && tmp1 <= b) {
						sum += j;
					}
				}else if (i == 4) {
					if (1 >= a && 1 <= b) {
						sum += j;
					}
				}
				tmp1 = 0;
				tmp2 = 0;
			}
		}
		System.out.println(sum);
	}
}