아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

몬스터

시간 제한1초메모리 제한512 MB

요약
손가락이 k개인 괴물은 2의 거듭제곱 부분집합을 들어 2^k가지 수를 만들 수 있다. 모든 괴물의 2^ki 합을 1e9+7로 나눈 나머지를 구한다.
난이도

쉬움10점 중 2점

유형
수학, 조합론, 구현, 정수론
정답자
아직 제출이 없습니다

문제

2017년 국제 몬스터 회의에 전 세계에서 온 n마리의 몬스터가 모인다. 의장은 다음 문제를 해결해야 한다. i번째 몬스터(1 ≤ i ≤ n)가 0부터 ki - 1까지 번호가 붙은 ki개의 손가락을 가졌고, 그중 j개의 손가락을 들어 올리면(0 ≤ j ≤ ki) 다음과 같은 방식으로 어떤 수를 얻는다. 특정 손가락을 들면 그 손가락 번호를 지수로 한 2의 거듭제곱이 현재 수에 더해진다. 그 결과 i번째 몬스터는 손가락으로 nri개의 서로 다른 수를 셀 수 있다. 따라서 구해야 하는 값은 nr1 + nr2 + … + nrn을 109+7로 나눈 나머지이다.

이 합을 109+7로 나눈 나머지를 구하시오.

입력

첫째 줄에 n이 주어진다.

둘째 줄에 n개의 양의 정수 k1, k2, …, kn이 주어지며, 각 몬스터의 손가락 수를 나타낸다.

출력

요청된 합을 109+7로 나눈 나머지인 양의 정수 하나를 출력한다.

제한

  • n ≤ 200,000
  • 0 ≤ ki ≤ 1,000,000,000
  • 손가락 번호는 0부터 시작한다.

힌트

첫 번째 몬스터는 8개의 수를 얻을 수 있다.

  • 0: 아무 손가락도 들지 않음
  • 1: 든 손가락의 번호가 0
  • 2: 든 손가락의 번호가 1
  • 3: 든 손가락의 번호가 0과 1
  • 4: 든 손가락의 번호가 2
  • 5: 든 손가락의 번호가 0과 2
  • 6: 든 손가락의 번호가 1과 2
  • 7: 든 손가락의 번호가 0, 1, 2

두 번째 몬스터는 128개의 수를 얻을 수 있다.

예제1

  1. 예제 1

    입력
    2
    3 7
    
    예상 출력
    136