LeetCode Weekly Contest 288 4問目 - Maximum Total Beauty of the Gardens [2234]

Source

LeetCode Weekly Contest 288
問題文

問題概要

省略

解法

省略

cLay(version 20220312-1)のコード

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)

ログイン: