#include using namespace std; using ll = int64_t; ll N, M, T; vector A; void input() { ios::sync_with_stdio(false); cin.tie(nullptr); cin >> N >> M >> T; A.resize(M); for (ll i=0; i> A[i]; --A[i]; } } vector CNT; bool check(ll p) { ll over = 0; ll rem = 0; for (ll i=0; i p) over += CNT[i] - p; else rem += (p - CNT[i]) / T; } return rem >= over; } ll binSearch() { ll ng = 0; ll ok = M; while (ok - ng > 1) { ll mid = (ng + ok) / 2; if (check(mid)) ok = mid; else ng = mid; } return ok; } void solve() { CNT.resize(N, 0); for (ll i=0; i