結果

問題 No.3297 Bake Cookies
ユーザー Astroseek
提出日時 2025-10-05 13:57:49
言語 C++23
(gcc 13.3.0 + boost 1.87.0)
結果
AC  
実行時間 250 ms / 2,000 ms
コード長 881 bytes
コンパイル時間 2,841 ms
コンパイル使用メモリ 283,608 KB
実行使用メモリ 12,800 KB
最終ジャッジ日時 2025-10-05 13:58:17
合計ジャッジ時間 8,651 ms
ジャッジサーバーID
(参考情報)
judge5 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 27
権限があれば一括ダウンロードができます

ソースコード

diff #

#include <bits/stdc++.h>
#define ll long long
#define ld long double
#define rep(i, r) for(int i = 0; i < (int)(r); i++)
#define reap(i, k, r) for(ll i = (ll)(k); i < (ll)(r); i++)
#define ALL(x) std::begin(x), std::end(x)
#define rALL(x) std::rbegin(x), std::rend(x)
#define MOD 998244353
using namespace std;
int main(){
    ll N, M, T; cin >> N >> M >> T;
    vector<ll> A(M);
    map<ll, ll> mp;
    rep(i, M){
        cin >> A[i];
        mp[A[i]]++;
    }
    ll le = 2e5 + 10, ri = 0;
    while(le - ri > 1){
        ll mid = (ri + le) / 2;
        ll use = 0;
        for(auto [l, r] : mp){
            if(r > mid){
                use -= r - mid;
            }
            else{
                use += (mid - r) / T;
            }
        }
        if(use >= 0){
            le = mid;
        }
        else{
            ri = mid;
        }
    }
    cout << le << endl;
}
0