1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
#include <iostream>
#include <vector>
class Solution {
public:
long long maxScore(std::vector<int>& a, std::vector<int>& b) {
long long sum[5] = { 0,
(long long)0xC000'0000'0000'0001, (long long)0xC000'0000'0000'0001,
(long long)0xC000'0000'0000'0001, (long long)0xC000'0000'0000'0001
};
int n = b.size();
for (int i = 0; i < n; ++i) {
for (int j = 3; j >=0; --j) {
sum[j + 1] = std::max(sum[j + 1], sum[j] + (long long)a[j] * b[i]);
}
}
return sum[4];
}
};
|