public int recursiveMaxValue(int price[],int len){
        if(len <= 0){
            return 0;
        }
        int maxValue = 0;
        for(int i=0; i < len;i++){
            int val = price[i] + recursiveMaxValue(price, len-i-1);
            if(maxValue < val){
                maxValue = val;
            }
        }
        return maxValue;
    }
http://www.geeksforgeeks.org/dynamic-programming-set-13-cutting-a-rod/
src/com/interview/dynamic/CuttingRod.java