Rozważ tablicę Adługości n. Tablica zawiera tylko dodatnie liczby całkowite. Na przykład A = (1,1,2,2). Zdefiniujmy f(A)jako zbiór sum wszystkich niepustych, sąsiadujących pod-macierzy A. W tym przypadku f(A) = {1,2,3,4,5,6}. Kroki do produkcji f(A) są następujące:
Podziemne Asą (1), (1), (2), (2), (1,1), (1,2), (2,2), (1,1,2), (1,2,2), (1,1,2,2). Ich odpowiednie kwoty to 1,1,2,2,2,3,4,4,5,6. Zestaw, który otrzymujesz z tej listy, jest zatem {1,2,3,4,5,6}.
Zadanie
Biorąc pod uwagę zestaw sum Spodanych w posortowanej kolejności, zawierający tylko dodatnie liczby całkowite i długość tablicy n, Twoim zadaniem jest wyprowadzenie co najmniej jednej Xtakiej tablicy f(X) = S.
Na przykład, jeśli S = {1,2,3,5,6}i n = 3wtedy poprawnym wynikiem jest X = (1,2,3).
Jeśli nie ma takiej tablicy, Xkod powinien wypisać dowolną stałą wartość.
Przykłady
Wejście:, n=4, S = (1, 3, 4, 5, 6, 8, 9, 10, 13)możliwe wyjście:X = (3, 5, 1, 4)
Wejście:, n=6, S = (2, 3, 4, 5, 7, 8, 9, 10, 12, 14, 17, 22)możliwe wyjście:X = (5, 3, 2, 2, 5, 5)
Wejście:, n=6, S = (2, 4, 6, 8, 10, 12, 16)możliwe wyjście:X = (4, 2, 2, 2, 2, 4)
Wejście:, n=6, S = (1, 2, 3, 4, 6, 7, 8, 10, 14)możliwe wyjście:X = (4, 2, 1, 1, 2, 4)
Wejście: n=10, S = (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 15, 16, 17, 18, 19, 20, 23, 24, 25)możliwe wyjścia: X = (1, 1, 3, 1, 2, 1, 2, 5, 4, 5).
Wejście: n=15, S = (1, 2, 3, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 20, 21, 22, 23, 24, 25, 26, 27, 28, 30, 31)możliwe wyjścia: X = (1, 2, 1, 3, 3, 1, 3, 3, 1, 3, 3, 1, 2, 1, 3).
Format wejściowy i wyjściowy
Twój kod może pobierać dane wejściowe i generować dane wyjściowe w dowolnym, łatwym dla człowieka formacie, który uważasz za dogodny. Proszę jednak pokazać wyniki testowania na przykładach w pytaniu.
Czas trwania
Musisz być w stanie uruchomić kod do końca dla wszystkich przykładów w pytaniu. Zasadniczo powinno to być poprawne n, 15ale nie trzeba udowadniać, że byłoby wystarczająco szybkie dla wszystkich danych wejściowych.