Zgłaszanie | Wszystkie zgłoszenia | Najlepsze | Lista |
AL_07_10 - Balony |
Organizacja zawodów programistycznych to nie łatwa sprawa. Trzeba ułożyć odpowiednio trudne zadania, zorganizować sale, komputery, catering, balony i wreszcie odpowiednio rozmieścić w salach osoby odpowiedzialne za jakże istotny aspekt roznoszenia owych balonów! Ostatniemu z tych zagadnień przyjrzymy się dziś nieco bliżej...
Finał zawodów rozgrywany jest w n salach a uczelnia dysponuje m osobami, których zadaniem podczas konkursu będzie właśnie roznoszenie balonów. Organizatorzy chcieliby maksymalnie ułatwić im to zadanie toteż planują rozmieścić te osoby w salach w taki sposób, aby maksymalna liczba uczestników przypadających na każdą z nich była jak najmniejsza. Oczywiście w każdej sali musi być co najmniej jedna taka osoba - inaczej w danej sali nikt nie dostałby balona co mogłoby skutkować nawet bojkotem zawodów! Standardowo zawodnicy nie mogą przemieszczać się pomiędzy salami podobnie jak osoby roznoszące balony.
Wejście
Wejście składa się z nieokreślonej liczby zestawów danych. Pierwsza linia każdego zestawu danych składa się z dwóch liczb n oraz m (1 ≤ n ≤ 5×105; n ≤ m ≤ 2×106) oznaczających odpowiednio liczbę sal oraz liczbę osób, których zadaniem jest roznoszenie balonów. W kolejnych n liniach znajduje się pojedyncza liczba opisująca ilość uczestników konkursu w i-tej sali. Liczba zawodników w jednej sali nie przekracza 5×106.
Wyjście
Na wyjściu należy w oddzielnej linii dla każdego zestawu wypisać jedną liczbę - maksymalną ilość uczestników przypadających na jedną osobę roznoszącą balony (zakładając optymalne pod tym względem rozmieszczenie tych osób).
Przykład
Wejście:
3 6 10 30 90
Wyjście:
30
Dodane przez: | Maciej Boniecki |
Data dodania: | 2013-06-06 |
Limit czasu wykonania programu: | 0.100s-0.400s |
Limit długości kodu źródłowego | 50000B |
Limit pamięci: | 1536MB |
Cluster: | Cube (Intel G860) |
Języki programowania: | All except: ASM64 GOSU |
Pochodzenie: | ALGOLIGA |