Logo
(追記) (追記ここまで)

26663번 - Desant 다국어

시간 제한메모리 제한제출정답맞힌 사람정답 비율
6 초 (추가 시간 없음) 1024 MB3000.000%

문제

Od wielu lat Bitocja regularnie najeżdża Bajtocję, okradając ją z jej dóbr naturalnych i intelektualnych. Tym razem to Bajtocjanie zaatakują podstępny naród Bitocjan. Pierwszym krokiem szczegółowo zaplanowanej strategii będzie desant na plażę Bitobajtana.

Akcja musi być dyskretna, zatem na plażę zostanie wysłany oddział składający się z dokładnie k członków elitarnej jednostki Bajtogrom. Aktualnie w szeregach jednostki jest n żołnierzy, których oznaczamy kolejnymi liczbami naturalnymi od 1 do n. Żołnierz o numerze i opanował walkę wręcz na poziomie i, zaś walkę na dystans na poziomie ai. Ciąg a1, . . . , an tworzy permutację liczb od 1 do n. Im wyższy poziom, tym bardziej zaawansowany w danej dyscyplinie jest żołnierz.

Jak wiadomo, w dobrym oddziale jednostki specjalnej każdy powinien wiedzieć kogo ma się słuchać, a komu może rozkazywać. Jeśli jednocześnie na misję wysłanych zostanie dwóch żołnierzy o indeksach i oraz j, takich że i < j oraz ai > aj, to może między nimi dojść do tak zwanego zgrzytu, czyli sytuacji w której pokłócą się, próbując dojść do tego, kto jest ważniejszy w szeregach Bajtogromu.

Wybierając k żołnierzy na desant, należy zrobić to tak, aby zminimalizować liczbę par żołnierzy, między którymi może dojść do zgrzytu. Twoim zadaniem jest powiedzieć, jaka jest ta minimalna możliwa liczba par. Dodatkowo, Twoim zadaniem jest powiedzieć, na ile sposobów da się wybrać oddział k żołnierzy, tak aby osiągnąć to minimum.

Jeszcze jedna rzecz. Ciągle nie wiadomo, ilu dokładnie żołnierzy chcemy wysłać na plażę Bitobajtana. Wyznacz zatem wspomniane wcześniej dwie liczby dla każdego k od 1 do n.

입력

W pierwszym wierszu wejścia znajduje się jedna liczba całkowita n (1 ≤ n ≤ 40), oznaczająca liczbę żołnierzy w szeregach Bajtogromu.

W drugim wierszu znajduje się n liczb całkowitych a1, . . . , an (1 ≤ ai ≤ n, ai ≠ aj dla i ≠ j), gdzie ai opisuje i-tego żołnierza i oznacza jego poziom zaawansowania w walce na dystans.

출력

Na wyjściu powinno znaleźć się n wierszy, a każdy z nich powinien zawierać dwie liczby całkowite.

Liczby w k-tym wierszu powinny oznaczać minimalną liczbę par żołnierzy, między którymi może wystąpić zgrzyt, jeśli chcemy wysłać na desant dokładnie k żołnierzy, oraz liczbę sposobów, na które możemy osiągnąć to minimum.

제한

예제 입력 1

5
5 3 1 4 2

예제 출력 1

0 5
0 3
1 2
3 1
7 1

힌트

Wyjaśnienie przykładu: Jeśli chcemy wysłać tylko jednego żołnierza, to oczywiście nie ma kto z kim mieć zgrzytu, a owego żołnierza możemy wybrać na pięć sposobów.

Jeśli chcemy wysłać dwóch żołnierzy, to należy wybrać którąś z par (2, 4), (3, 4) lub (3, 5), aby do zgrzytu na pewno nie doszło.

Jeśli chcemy wysłać trzech żołnierzy, to można osiągnąć jedną parę grożącą zgrzytem, wysyłając oddział (2, 3, 4) lub (3, 4, 5).

Jeśli chcemy wysłać czterech żołnierzy, to opłaca się wysłać wszystkich z wyjątkiem pierwszego, który poza byciem najgorszym w walce wręcz (ze względu na bycie pierwszym), jest jednocześnie najlepszy w walce na dystans (ze względu na a1 = 5), przez co grozi zgrzytem z każdym innym żołnierzem.

Jeśli chcemy wysłać wszystkich pięciu żołnierzy, to aż siedem par zagraża zgrzytem.

출처

Contest > Algorithmic Engagements > PA 2019 2-1번

(追記) (追記ここまで)

출처

대학교 대회

  • 사업자 등록 번호: 541-88-00682
  • 대표자명: 최백준
  • 주소: 서울시 서초구 서초대로74길 29 서초파라곤 412호
  • 전화번호: 02-521-0487 (이메일로 연락 주세요)
  • 이메일: contacts@startlink.io
  • 통신판매신고번호: 제 2017-서울서초-2193 호

AltStyle によって変換されたページ (->オリジナル) /