1753. Doing Homework

ode(Language:C++)
class Solution {
public:
    /**
     * @param cost: the cost
     * @param val: the val
     * @return: the all cost
     */
    long long doingHomework(vector<int> &cost, vector<int> &val) {
        // Write your code here.
        long long res = 0; 
        const int size = cost.size();
        if(size == 0){
            return res; 
        }
        vector<int> prefixSum(size, 0);
        prefixSum[0] = cost[0];
        for(int i = 1; i < size; i++){
            prefixSum[i] = prefixSum[i - 1] + cost[i]; 
        }
        
        for(int i = 0; i < val.size(); i++){
            int j; 
            for(j = 0; j < size; j++){
                if(val[i] < prefixSum[j]){
                    res += (j == 0 ? 0 : prefixSum[j - 1]); 
                    break; 
                }
            }
            if(j == size){
                res += prefixSum[size - 1]; 
            }
            
        }
        return res; 
    }
};

Comments

Popular posts from this blog

算法的比较