/* -*- coding: utf-8 -*- * * 3221.cc: No.3221 Count Turns - yukicoder */ #include #include #include #include #include using namespace std; /* constant */ const int MAX_N = 100000; /* typedef */ using ll = long long; using pli = pair; using tp3 = tuple; /* global variables */ int as[MAX_N], ds[MAX_N], cs[MAX_N]; /* subroutines */ /* main */ int main() { int n, h, t; scanf("%d%d%d", &n, &h, &t); for (int i = 0; i < n; i++) scanf("%d", as + i); for (int i = 0; i < n; i++) ds[i] = (h + as[i] - 1) / as[i]; priority_queue q; for (int i = 0; i < n; i++) q.push({-ds[i], as[i] * ds[i], -i}); while (t > 0) { auto [d, b, i] = q.top(); q.pop(); d = -d, i = -i; cs[i]++; t--; q.push({-(d + ds[i]), b, -i}); } for (int i = 0; i < n; i++) printf("%d%c", cs[i], (i + 1 < n) ? ' ' : '\n'); return 0; }