comefrom: <gouthampradhan>dynamic_programming_MinimumNumberOfRefuelingStops_1.java
code: public int minRefuelStops(int target, int startFuel, int[][] stations) {
      long[] dp = new long[stations.length + 1];
      dp[0] = startFuel;
      for (int i = 0; i < stations.length; i++) {
        int d = stations[i][0];
        int f = stations[i][1];
        for (int j = i; j >= 0; j--) {
          if (dp[j] >= d) {
            dp[j + 1] = Math.max(dp[j + 1], dp[j] + f);
          }
        }
      }
      for (int i = 0; i < dp.length; i++) {
        if (dp[i] >= target) {
          return i;
        }
      }
      return -1;
    }
masked: public int sample_funcname ( int var_0 , int var_1 , int [ ] [ ] var_2 ) {
    long [ ] var_3 = new long [ var_2 . length + 1 ] ;
    var_3 [ 0 ] = var_1 ;
    for ( int var_4 = 0 ;
    var_4 < var_2 . length ;
    var_4 ++ ) {
      int var_5 = var_2 [ var_4 ] [ 0 ] ;
      int var_6 = var_2 [ var_4 ] [ 1 ] ;
      for ( int var_7 = var_4 ;
      var_7 >= 0 ;
      var_7 -- ) {
        if ( var_3 [ var_7 ] >= var_5 ) {
          var_3 [ var_7 + 1 ] = Math . max ( var_3 [ var_7 + 1 ] , var_3 [ var_7 ] + var_6 ) ;
        }
      }
    }
    for ( int var_4 = 0 ;
    var_4 < var_3 . length ;
    var_4 ++ ) {
      if ( var_3 [ var_4 ] >= var_0 ) {
        return var_4 ;
      }
    }
    return - 1 ;
  }
  