#include <leetcode.h>
|
static long long | maximumBeauty (vector< int > &flowers, long long newFlowers, int target, int full, int partial) |
|
◆ maximumBeauty()
long long leetcode::maximum_total_beauty_of_the_gardens::Solution::maximumBeauty |
( |
vector< int > & | flowers, |
|
|
long long | newFlowers, |
|
|
int | target, |
|
|
int | full, |
|
|
int | partial ) |
|
static |
< 当前项之前的和
< 补齐后n-i项到target后剩余的
在文件 leetcode.cpp 第 5867 行定义.
5867 {
5868 const int n = flowers.size();
5869 sort(flowers.begin(), flowers.end());
5870 for(
int i = 0; i <
n; i++) {
5871 flowers[i] = min(flowers[i], target);
5872 }
5874 vector<long long> sum(n + 1, 0);
5875 for(
int i = 0; i <
n; i++) {
5876 sum[i + 1] = sum[i] + flowers[i];
5877 }
5878 for(
int i = 0, j = 0; i <=
n; i++) {
5879 const long long rest = newFlowers - (
static_cast<long long>(target) * (
n - i) - (sum[
n] - sum[i]));
5880 if(rest >= 0) {
5881 while(j < i && rest >= static_cast<long long>(flowers[j]) * j - sum[j]) {
5882
5883 j++;
5884 }
5885 ans = max(ans,
static_cast<long long>(full) * (n - i) + (j == 0 ? 0 :
static_cast<long long>(partial) * min(
static_cast<long long>(target - 1), (rest + sum[j]) / j)));
5886 }
5887 if(i < n && flowers[i] == target) {
5888 break;
5889 }
5890 }
5892 }
vector< vector< int > > ans
被这些函数引用 leetcode::maximum_total_beauty_of_the_gardens::TEST(), leetcode::maximum_total_beauty_of_the_gardens::TEST() , 以及 leetcode::maximum_total_beauty_of_the_gardens::TEST().
该类的文档由以下文件生成: