现定义数组单调和为所有元素i的f(i)值之和。这里的f(i)函数定义为元素i左边(不包括其自身)小于等于它的数字之和。请设计一个高效算法,计算数组的单调和。 给定一个数组A同时给定数组的大小n,请返回数组的单调和。保证数组大小小于等于500,同时保证单调和不会超过int范围。 测试样例: [1,3,5,2,4,6],6 返回:27
classMonoSum {
public:
intinsert(vector
intdv = 0, index = A.size();
for(inti = 0; i < A.size(); i++){
if(A[i] <= com_v){
dv += A[i];
}
else{
index = i;
break;
}
}
A.insert(A.begin()+index, com_v);
returndv;
}
intcalcMonoSum(vector
vector
intvalue = 0;
for(inti = 0; i < n; i++){
value += insert(B, A[i]);
}
returnvalue;
}
};