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

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

Value

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

요약
1부터 n까지의 부분집합을 골라, 선택한 원소의 a_i 합에서 i의 거듭제곱이 되는 선택 원소마다 b_j를 뺀 값이 최대가 되도록 한다.
난이도

어려움10점 중 8점

유형
정수론, 동적 계획법, 수학, 해시맵
정답자
아직 제출이 없습니다

문제

Pang은 달걀을 깨지 않고서는 오믈렛을 만들 수 없다고 믿는다.

집합 {1,2,…,n}\{1,2,\ldots,n\}의 부분집합 AA에 대해 점수를 다음과 같이 계산한다.

  1. 점수를 00으로 초기화한다.
  2. i∈Ai\in A인 모든 ii에 대해 점수에 aia_i를 더한다.
  3. i≥2i\ge 2, j≥2j\ge 2, i∈Ai\in A, j∈Aj\in A를 만족하는 정수 쌍 (i,j)(i, j)에 대해, ik=ji^k=j인 양의 정수 k>1k>1이 존재하면 점수에서 bjb_j를 뺀다.

AA를 적절히 고를 때 얻을 수 있는 최대 점수를 구하라.

입력

첫째 줄에 정수 nn이 주어진다. (1≤n≤100000)(1\le n\le 100000)

둘째 줄에 nn개의 정수 a1,a2,…,ana_1,a_2,\ldots,a_n이 주어진다. (1≤ai≤1000000000)(1\le a_i\le 1000000000)

셋째 줄에 nn개의 정수 b1,b2,…,bnb_1,b_2,\ldots,b_n이 주어진다. (1≤bi≤1000000000)(1\le b_i\le 1000000000)

출력

얻을 수 있는 최대 점수 xx를 한 줄에 출력한다.

예제2

  1. 예제 1

    입력
    4
    1 1 1 2
    1 1 1 1
    
    예상 출력
    4
    
  2. 예제 2

    입력
    4
    1 1 1 1
    1 1 1 2
    
    예상 출력
    3