fork download
  1. import java.util.*;
  2. import java.lang.*;
  3. import java.io.*;
  4.  
  5. class Codechef
  6. {
  7. public static void main (String[] args) throws java.lang.Exception
  8. {
  9. // your code goes here
  10. int l=10000;
  11. int r=99999;
  12. int sum=24;
  13. System.out.println(solve(l,r,sum));
  14. }
  15. static int digitSum(int n){
  16. if(n==0)return 0;
  17. return (n%10)+digitSum(n/10);
  18. }
  19.  
  20. public static int solve(int l,int r,int sum){
  21. int min=digitSum(l);
  22. int max=digitSum(r);
  23. int n=(int)Math.log10(r)+1;
  24. int [][][] dp=new int[n+1][max+1][10];
  25. for(int k=0;k<=9;k++){
  26. dp[1][k][k]=1;
  27. }
  28. for(int i=2;i<=n;i++){
  29. for(int j=0;j<=sum;j++){
  30. for(int k=0;k<=9;k++){
  31. int rem=j-k;
  32. if(rem>=0){
  33. for (int m=0;m<=9;m++) {
  34. dp[i][j][k]+=dp[i-1][rem][m];
  35. }
  36. }
  37. }
  38. }
  39. }
  40. int cnt=0;
  41. for(int i=1;i<=9;i++){
  42. cnt+=dp[n][sum][i];
  43. }
  44. return cnt;
  45. }
  46. }
  47.  
Success #stdin #stdout 0.07s 54684KB
stdin
Standard input is empty
stdout
5460