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

26688번 - Cukierki 다국어

시간 제한메모리 제한제출정답맞힌 사람정답 비율
3 초 1024 MB53266.667%

문제

Bajtek wybiera się na przyjęcie urodzinowe do Bitka. Wie, że Bitek uwielbia słodycze, chciałby zatem wręczyć mu w prezencie pewną liczbę opakowań z cukierkami. Kupił n opakowań, gdzie i-te z nich zawiera ai cukierków.

Opakowania są jednak dość ciężkie, i Bajtek zastanawia się, czy musi zabrać je wszystkie do Bitka. Postanowił, że wybierze jakiś niepusty podzbiór opakowań, zabierze je do Bitka i powie mu „Mam tutaj w sumie x cukierków, ile z nich byś chciał?”, gdzie x będzie sumaryczną liczbą cukierków w opakowaniach przyniesionych na przyjęcie. Bitek po usłyszeniu pytania zapewne wybierze dowolną liczbę całkowitą y należącą do przedziału [1, x]. Bajtek chciałby, niezależnie od odpowiedzi Bitka, być w stanie wybrać część przyniesionych opakowań (a resztę zostawić sobie) tak, aby sumaryczna liczba cukierków w tych opakowaniach wynosiła dokładnie y. Nie ma tutaj oczywiście mowy o rozrywaniu opakowań – dawać cukierki bez opakowania byłoby niekulturalne.

Bajtek zastanawia się zatem, ile niepustych podzbiorów opakowań może zanieść do Bitka, aby być w stanie, niezależnie od wyboru solenizanta, sprezentować mu żądaną liczbę cukierków. Pomóż mu i oblicz to za niego! Jako że liczba takich podzbiorów może być bardzo duża, to wystarczy, że podasz jej resztę z dzielenia przez 109 + 7.

입력

W pierwszym wierszu wejścia znajduje się jedna liczba całkowita n (1 ≤ n ≤ 5000) oznaczająca liczbę opakowań z cukierkami, które ma Bajtek.

W drugim wierszu znajduje się ciąg n liczb całkowitych a1, a2, . . . , an (1 ≤ ai ≤ 5000) oznaczających liczby cukierków w kolejnych opakowaniach Bajtka.

출력

Na wyjściu powinna znaleźć się jedna liczba całkowita, oznaczająca liczbę możliwych podzbiorów opakowań, które Bajtek może zanieść do Bitka, podana modulo 109 + 7.

제한

예제 입력 1

5
2 7 4 4 1

예제 출력 1

8

힌트

Wyjaśnienie przykładu: Bajtek może zabrać do Bitka 8 różnych podzbiorów opakowań: {5}, {1, 5}, {1, 3, 5}, {1, 4, 5}, {1, 3, 4, 5}, {1, 2, 3, 5}, {1, 2, 4, 5} i {1, 2, 3, 4, 5}. Gdy zdecyduje się np. zabrać pierwsze, drugie, czwarte i piąte opakowanie, a Bitek zażyczy sobie 9 cukierków, to może wręczyć mu jedynie pierwsze i drugie opakowanie. Bajtek nie może się zdecydować np. na zabranie tylko pierwszego, drugiego i piątego opakowania, gdyż Bitek mógłby zażyczyć sobie np. 6 cukierków, przez co Bajtek byłby bezradny.

출처

Contest > Algorithmic Engagements > PA 2020 5-3번

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

출처

대학교 대회

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

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