LeetCode Weekly Contest 288
問題文
省略
省略
C++に変換後のコードはこちら
#define main dummy_main
{}
#undef main
class Solution {
public:
ll maximumBeauty(VI& A, ll M, int T, int X, int Y) {
static ll hist[1d6], ned[1d6];
ll i, k, m, res; int N = A.size();
rep(i,T+1) hist[i] = 0;
rep(i,N) hist[min(A[i],T)]++;
k = ned[0] = 0;
rrep(i,T+1) rep(hist[i]) ned[k+1] = ned[k] + (T - i), k++;
k = 0;
while(k+1 <= N && ned[k+1] <= M) k++;
res = k * X;
if(ned[N]==0) return res;
rep(i,1,T){
M -= hist[i-1];
hist[i] += hist[i-1]; hist[i-1] = 0;
if(M < 0) break;
if(k == N) k--;
for(;;){
m = min(N-hist[i], k);
if(ned[m] + (T-i) * (k-m) <= M) break;
k--;
}
res >?= k * X + i * Y;
}
return res;
}
};
Current time: 2024年05月19日06時51分18秒
Last modified: 2022年04月10日17時42分24秒 (by laycrs)
Tags: Competitive_Programming_Incomplete LeetCode
トップページに戻る
Logged in as: unknown user (not login)