Deski

Zadanie o nazwie Deski pochodzi z Olimpiady Informatycznej Juniorów (OIJ) rozgrywanej w roku 2019/2020. Olimpiada jest przeznaczona dla uczniów klas szkoły podstawowej, a więcej o niej można się dowiedzieć z jej strony: oij.edu.pl. Na tej stronie publikuję przykładowe rozwiązanie, które wygeneruje nam 100 punkowy wynik.

Treść zadania

Bajtek chce zbudować wielką, kwadratową piaskownicę. Do budowy piaskownicy są mu potrzebne zaledwie cztery deski, które muszą być równej długości. Niestety, podczas kupowania desek w tartaku Bajtek zupełnie zapomniał o tym fakcie i kupił N desek o niekoniecznie równych długościach. Bajtek może (ale nie musi) najpierw skrócić posiadane deski, a następnie wybrać cztery kawałki równej długości i zbudować z nich piaskownicę. Zauważ, że deska może jedynie być skracana, a nie dzielona, czyli nie można na przykład z jednej deski o długości 4 otrzymać dwóch desek o długości 2.
Bajtek nie lubi ułamków, dlatego wszystkie długości desek są całkowite oraz wszystkie długości skróconych kawałków również muszą być całkowite.

Napisz program, który: wczyta długości desek posiadanych przez Bajtka, wyznaczy pole największej piaskownicy, którą może zbudować i wypisze wynik na standardowe wyjście.

Przykładowe wejścia i wyjścia

  • Dla liczby desek 7 o długościach 6 3 7 6 5 8 10, wynikiem jest 36

Pełna treść zadania znajduje się tutaj.

Kod programu

1
2
3
4
5
6
7
8
liczba_des = 7
dlugosci = [6,3,7,6,5,8,10]

dlugosci.sort()
if liczba_des >= 4:
    print(int(dlugosci[liczba_des-4])**2)
else:
    print(0)