LeetCode Weekly Contest 214 3問目 - Sell Diminishing-Valued Colored Balls [1648]

Source

LeetCode Weekly Contest 214
問題文

問題概要

省略

解法

省略

cLayversion 20201102-1)のコード

C++に変換後のコードはこちら

#define main dummy_main
{}
#undef main

class Solution {
public:
  int maxProfit(vector<int>& A, int K) {
    int N = A.size() + 1;
    Modint res = 0;
    sort(A.rbegin(), A.rend());
    A.push_back(0);

    rep(i,1,N) if(K && A[i-1]!=A[i]){
      ll p = min(A[i-1] - A[i], K / i);
      res += p * (A[i-1] + A[i-1] - p + 1) / 2 * i;
      K -= p * i;
      A[i-1] -= p;
      if(A[i-1] > A[i] && K){
        res += Modint(A[i-1]) * K;
        K = 0;
      }
    }
    return res;
  }
};

Current time: 2024年04月25日21時12分46秒
Last modified: 2020年11月08日13時09分26秒 (by laycrs)
Tags: Competitive_Programming_Incomplete LeetCode
トップページに戻る

Logged in as: unknown user (not login)

ログイン: