fork download
  1. /* package whatever; // don't place package name! */
  2.  
  3. import java.util.*;
  4. import java.lang.*;
  5. import java.io.*;
  6.  
  7. /* Name of the class has to be "Main" only if the class is public. */
  8. class Ideone
  9. {
  10. public static void main (String[] args) throws java.lang.Exception
  11. {
  12. // your code goes here
  13. int[] arr = {0, 1, 2, 3, 4, 4};
  14. int m = 5;
  15. int n = 5;
  16. int k = 4;
  17.  
  18.  
  19. int[][] dp = new int[100][100];
  20.  
  21. for(int i = 0; i < 100; i++){
  22. for(int j = 0; j < 100; j++){
  23. dp[i][j] = Integer.MIN_VALUE;
  24. }
  25. }
  26.  
  27. dp[0][0] = dp[1][1] = 1;
  28.  
  29. for(int i = 2; i <= n; i++){
  30. int prt = 1;
  31. while(prt <= k){
  32. int v = 0;
  33. int j = i;
  34. int sum = arr[i];
  35. while(j >= 1 && sum <= m){
  36. int g = dp[j-1][prt-1];
  37.  
  38. if( g > 0){
  39. v += g;
  40. }
  41. j--;
  42. sum += arr[j];
  43. }
  44. if( v > 0){
  45. dp[i][prt] = v;
  46. }
  47. System.out.println(i + " " + prt + " " + dp[i][prt]);
  48. prt++;
  49. }
  50. }
  51. System.out.println(dp[n][k]);
  52. }
  53. }
Success #stdin #stdout 0.13s 55844KB
stdin
Standard input is empty
stdout
2 1 1
2 2 1
2 3 -2147483648
2 4 -2147483648
3 1 -2147483648
3 2 2
3 3 1
3 4 -2147483648
4 1 -2147483648
4 2 -2147483648
4 3 2
4 4 1
5 1 -2147483648
5 2 -2147483648
5 3 -2147483648
5 4 2
2