今日头条 - 区间最大值 - 代码参考
#include <iostream> #include <vector> #include <algorithm> using namespace std; int main(){ int n, dis = 1; vector<int> result; vector<int> a; cin >> n; for (int i = 0; i < n; i++){ int temp; cin >> temp; a.push_back(temp); } for (int m = 0; m < n; m++){ for (int i = 0; i < dis; i++){ for (int j = i; j < n; j += dis){ int min = a[j], sum = 0; if (n - j < dis) break; for (int k = j; k < j + dis; k++){ if (a[k] < min) min = a[k]; sum += a[k]; } result.push_back(sum * min); } } if (++dis > n - 1) break; } sort(result.begin(), result.end()); cout << result[result.size() - 1]; return 0; }
#字节跳动#