class Solution {
public:
int maxRotateFunction(vector<int>& A) {
//cal sum(A) & F(0)int sum = 0;
int curF = 0;
int n = A.size();
for (int i = 0; i < n; i++) {
sum += A[i];
curF += i * A[i];
}
//cal maxint max = curF;
for (int i = 1; i < n; i++) {
curF = curF + sum - n * A[n - i];
if (curF > max) {
max = curF;
}
}
return max;
}
};