// UVa 11109 - Rinse #include <iostream> #include <stdio.h> using namespace std; int main() { int k; while (true) { cin >> k; if (k == 0) break; double rain, w, l, cap; cin >> rain >> w >> l >> cap; double r, r0; if (k == 1) { r0 = min(cap - w, rain); } else { if (w <= l) { r0 = min(l - w, rain); rain -= r0; r = rain / k; r0 += r; } else if (l < w) { double rneed = min((w - l) * (k - 1), rain); rain -= rneed; r = rneed / (k - 1) + rain / k; r0 = rain / k; } if (r + l > cap) r = cap - l; if (r0 + w > cap) r0 = cap - w; } printf("%d", k); if (k > 0) { printf(" %.2f", r0); for (int i = 1; i < k; i++) printf(" %.2f", r); } printf("\n"); } return 0; }
Friday, May 15, 2015
UVa 11109 - Rinse
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment