Co roku w Megabajtolandii odbywa się Zlot Obżartuchów. Podczas każdego zlotu tradycją jest, że pierwszego dnia wszyscy uczestnicy obżerają się ciastkami przez całą dobę non-stop, nie mając ani ułamka sekundy przerwy. Jak tylko obżartuch skończy jeść jedno ciastko to od razu musi zabrać się za następne (nie dotyczy to sytuacji pod koniec doby, kiedy to uczestnikowi nie wolno napocząć ciastka jeśli wie, że nie zdąży go zjeść przed końcem doby). Kolejnym ważnym elementem tradycji jest to, że każdy obżartuch je każde swoje ciastko w niezmiennym przez całą dobę, charakterystycznym dla siebie tempie.
Na najbliższy Zlot zostały zaproszone tylko te obżartuchy, które już uczestniczyły w poprzednich Zlotach. Dzięki temu wiadomo z góry w jakim tempie każdy z nich je ciastka (obżartuchy nie lubią zmieniać swojego wyuczonego tempa). Na podstawie tych danych, organizatorzy Zlotu chcą określić ile należy kupić ciastek. Sytuację utrudnia fakt, że ciastka w sklepie sprzedawane są w pudełkach o stałej wielkości, a nie na sztuki - przez to być może trzeba będzie kupić trochę więcej ciastek niż zostanie zjedzonych.
Zadanie
Mając daną liczbę obżartuchów zaproszonych na Zlot oraz czas jedzenia pojedynczego ciastka (podany w sekundach) przez każdego z nich Twój program powinien policzyć ile należy kupić pudełek z ciastkami.
Specyfikacja wejścia
W pierwszej linii wejścia znajduje się jedna dodatnia liczba całkowita, oznaczająca liczbę zestawów testowych, które dalej pojawią się na wejściu. Każdy zestaw ma następującą postać. W pierwszej linii znajdują się dwie liczby całkowite N i M oddzielone pojedynczą spacją (1 ≤ N ≤ 10.000, 1 ≤ M ≤ 1.000.000.000). Oznaczają one odpowiednio liczbę zaproszonych obżartuchów na Zlot oraz liczbę ciastek w jednym pudełku. Kolejne N wierszy zestawu zawiera po jednej liczbie całkowitej dodatniej niewiększej niż 100.000. Są to czasy (w sekundach) jedzenia pojedynczego ciastka przez kolejnych obżartuchów.
Specyfikacja wyjścia
Dla każdego zestawu danych pojawiającego się na wejściu należy wypisać dokładnie jedną liczbę całkowitą (każdą w osobnej linii), oznaczającą liczbę pudełek z ciastkami, jaką organizatorzy muszą kupić na Zlot.
Przykład
Wejście
2
2 10
3600
1800
3 356
123
32999
10101
Wyjście
8
2
Kod źródłowy w C:
#include <stdio.h> #include <stdlib.h> #include <math.h> int main() { int t, n, m, i, j, output; double c; int tab[10000]; scanf("%d",&t); for(i=0; i<t; ++i) { scanf("%d%d",&n,&m); for(j=0; j<n; ++j) { scanf("%d",&tab[j]); } c=0; for(j=0; j<n; ++j) { c=c+(86400/tab[j]); } output=ceil(c/m); printf("%d\n",output); } return 0; }
Kod źródłowy w C++:
#include <iostream> #include <math.h> using namespace std; int main() { int t, n, m; double c; int tab[10000]; cin>>t; for(int i=0; i<t; ++i) { cin>>n>>m; for(int j=0; j<n; ++j) { cin>>tab[j]; } c=0; for(int j=0; j<n; ++j) { c=c+(86400/tab[j]); } cout<<ceil(c/m)<<endl; } return 0; }
Kod źródłowy w Python 2:
t = int(raw_input("")) day = 86400 for i in range(0, t, +1): wyn = second = cookies = box_quantity = mod = 0 wej_str = raw_input("") wej = wej_str.split(" ") obz = int(wej[0]) boxes = int(wej[1]) for j in range (0, obz, +1): second = int(raw_input("")) cookies = int(day / second) wyn = wyn + cookies mod = wyn%boxes box_quantity = wyn/boxes if mod > 0: box_quantity = box_quantity + 1 print box_quantity
Kod źródłowy Python 3:
t = int(input("")) day = 86400 for i in range(0, t, +1): wyn = second = cookies = box_quantity = mod = 0 wej_str = input("") wej = wej_str.split(" ") obz = int(wej[0]) boxes = int(wej[1]) for j in range (0, obz, +1): second = int(input("")) cookies = int(day / second) wyn = wyn + cookies mod = wyn%boxes box_quantity = wyn/boxes if mod > 0: box_quantity = box_quantity + 1 print (int(box_quantity))
Źródło:
http://pl.spoj.com/problems/GLUTTON/
Brak komentarzy:
Prześlij komentarz